首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过app.config更改跟踪开关级别

通过app.config更改跟踪开关级别
EN

Stack Overflow用户
提问于 2013-02-15 16:57:34
回答 4查看 7.3K关注 0票数 11

我有一个应用程序,它将其跟踪源配置如下:

代码语言:javascript
运行
复制
        var traceSource = new TraceSource("MyTraceSource");
        traceSource.Switch = new SourceSwitch("MyTraceSwitch") { **Level = SourceLevels.Information** };

        var traceListener = new TextWriterTraceListener(logFilePath);
        traceListener.TraceOutputOptions = TraceOptions.DateTime;

        traceSource.Listeners.Clear();
        traceSource.Listeners.Add(traceListener);

        Trace.AutoFlush = true;

应用程序始终使用此跟踪源来跟踪事件。请注意,SourceLevels.Information是在跟踪开关中硬编码的。现在,我需要将跟踪开关级别更改为Verbose。可以通过app.config文件来完成吗?我尝试了许多xml-configs,但都失败了。注意:我不能只更改app.config的源代码。

EN

Stack Overflow用户

发布于 2020-11-20 02:32:43

这是一个问题,在原始问题(vkrzv的帖子)中,听众被删除了:

代码语言:javascript
运行
复制
traceSource.Listeners.Clear();

这导致侦听器被添加到app.config (在Glenn Ferries奇妙的解决方案中)。我很喜欢。谢谢。)将被删除。

所以这里有一个完整的解决方案。c:\temp文件夹中有两个日志文件: logcode.txt和logappconfig.txt

代码:

代码语言:javascript
运行
复制
var traceSource = new TraceSource("MyTraceSource");

var traceListener = new TextWriterTraceListener(@"c:\temp\logcode.txt");
traceListener.TraceOutputOptions = TraceOptions.DateTime;

//traceSource.Listeners.Clear(); //we do not want to delete the listener
traceSource.Listeners.Add(traceListener);

Trace.AutoFlush = true;

App.Config:

代码语言:javascript
运行
复制
<system.diagnostics>
<sources>
  <source name="MyTraceSource" switchValue="Information">
    <listeners>
      <add name="file" initializeData="c:\temp\logappconfig.txt" traceOutputOptions="DateTime" type="System.Diagnostics.TextWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </listeners>
  </source>
</sources>
</system.diagnostics>
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14891089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档