.NET仅为DEBUG配置日志

时间:2017-09-11 14:58:53

标签: c# .net logging

我已通过配置app.config

启用了登录桌面应用程序的功能
<system.diagnostics>
  <trace autoflush="true" indentsize="4">
    <listeners>
      <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="application.log" />
      <remove name="Default" />
    </listeners>
  </trace>
</system.diagnostics>  

然后我可以使用像这样的行

登录我的应用程序

System.Diagnostics.Trace.TraceInformation("Start tailing file: {0}", watcher.FileLocation);

现在我想在调试模式下启动应用程序时才启用日志文件,因为我不希望在启用日志的情况下分发我的软件包。

有没有办法配置它?

2 个答案:

答案 0 :(得分:0)

您可以使用条件调试,

#if DEBUG
    //Code to execute only in debug mode    
#endif

或者你可以用下面的条件装饰方法,

[Conditional("DEBUG")]
void RunOnlyWhendebug()
{
}

答案 1 :(得分:-2)

您需要配置转换。也就是说,一个将修改值的文件 您的配置文件基于您指定的构建配置。有一段时间,他们最常见的是ASP.NET项目中的web.config文件,但是使用.Net Core和.Net Standard,可以更容易地为其他配置文件设置它们(例如appsettings.json)。

我不确定您要定位的是哪个框架,但是因为您指定app.config文件this walkthrough应该会有所帮助。