Jak*_*old 10 .net c# asp.net logging diagnostics
据我了解,System.Console默认情况下会写入STDOUT,但是System.Diagnostics.Trace和System.Diagnostics.Debug?什么是默认行为,它们是否可以以任何方式配置?
似乎不同的人使用不同的东西(在互联网上),但我假设我发现的大多数都是错的,因为每个人都应该有特定的语义,对吧?如果是这样,是否有任何框架(如ASP.NET或WPF)特别使用这些?
还有最后一个问题,选择使用其中一个的经验法则是什么?
Sco*_*ain 24
Debug并且Trace都写到同一个位置,即Listeners集合.默认情况下,它会路由到Visual Studio的"调试"窗口,但是您可以将代码放入app.config文件中,以便在不进行调试时将其重定向到其他位置.
Debug和之间的区别Trace是Debug只有在设置DEBUG编译符号时才会写出(默认为debug,off for release),如果未设置符号,则代码中永远不会调用方法.Trace查找TRACE符号(默认为调试和释放).除此之外,这两个类是相同的.实际上,如果你修改Debug.Listeners添加一个新的监听器,它也会修改,Trace.Listeners因为它们都指向内部静态属性TraceInternal.Listeners
至于选择使用哪一个,您是否希望在发布和调试模式下显示诊断信息?只使用Trace,Debug?使用Debug.您是否希望在没有附加调试器的情况下最终用户可以看到它?使用控制台或添加控制台跟踪侦听器.
| 归档时间: |
|
| 查看次数: |
3098 次 |
| 最近记录: |