C# 在释放系统之前删除日志。诊断
要记录输出,我使用以下代码C# 在释放系统之前删除日志。诊断,c#,logging,windows-phone-8,C#,Logging,Windows Phone 8,要记录输出,我使用以下代码 System.Diagnostics.Debug.WriteLine("Hello"); 现在,它总是建议在提交应用程序之前删除这些日志 所以,在我们提交发布或隐式完成之前,我们必须删除这些行 有没有其他更好的方法在C#中记录输出,当其被释放时,它会删除对控制台的记录。我知道Log4Net就是其中之一。您可以使用预处理器指令: #if DEBUG System.Diagnostics.Debug.WriteLine("Hello"); #endif 在发
System.Diagnostics.Debug.WriteLine("Hello");
现在,它总是建议在提交应用程序之前删除这些日志
所以,在我们提交发布或隐式完成之前,我们必须删除这些行
有没有其他更好的方法在C#中记录输出,当其被释放时,它会删除对控制台的记录。我知道Log4Net就是其中之一。您可以使用预处理器指令:
#if DEBUG
System.Diagnostics.Debug.WriteLine("Hello");
#endif
在发布版本配置中生成应用程序时,将跳过该行。System.Diagnostics.Debug类上的所有方法都具有该行,因此在大多数编译器中,它们不会编译为发布版本(除非在发布版本中定义了Debug属性)。一, 对于VisualStudio中的编译器来说,这当然是正确的 关于log4Net的第二个问题实际上是相反的,如果您决定开始使用log4Net,则需要注意一些事项-log4Net调试调用包含在调试构建中,并且在将记录器设置为调试跟踪级别(通常通过运行时配置完成)时发出
一,。MSDN页面实际上(IMO)有点不清楚,但这些帖子与我的解释一致:
谢谢。但是如果我使用过100个地方,我需要在每个地方添加这个指令。你确定吗?我一直认为,由于[ConditionalAttribute],调试类的方法不会编译到发布版本中。这篇帖子似乎说了同样的话@DavidHall,没错。IDE隐式删除它以供发布。我确实检查了文件,但我对这门语言还不熟悉,所以错过了这么一件小事。