c# - 日志级别 : Would you consider DEBUG finer than TRACE?

标签 c# logging log4net nlog common.logging

我的问题来自this问题,其中一条评论表明 DEBUG 日志级别比 TRACE 更细粒度。看看 TRACE 和 DEBUG 在 .NET 中的含义,这似乎是有道理的,因为根据定义,DEBUG(作为一个概念)在生产中从未见过。这可能是企业库中不将它们用作事件类型的原因。另一方面,我所知道的所有其他实现(log4net、nlog、common.logging)都将 TRACE 作为比 DEBUG 更精细的级别。也就是说,在 DEBUG 日志级别运行的应用程序不会写入 TRACE 日志。

我们需要实现自己的日志框架,我想知道是否有更多人认为 DEBUG 真的应该是最“垃圾”的日志级别?或者,如果我们的新框架应该为新开发人员等提供一些易于使用的熟悉度,您会认为这是一个错误吗?

谢谢。

最佳答案

我同意 TRACE 比 DEBUG 更好。

示例:如果我使用 PostSharp 向应用程序中的每个方法调用添加自动日志记录语句,我希望在每个方法的开头注入(inject)此代码:

if (Log.IsTraceEnabled)
   Log.TraceFromat("Method {0} args {1}", method, string.Join(",", args));

也就是说,我将“TRACE”级别解释为帮助我通过应用程序跟踪调用,而 DEBUG 正在编写帮助开发人员调试程序行为的信息。不知道这样说对不对?

关于c# - 日志级别 : Would you consider DEBUG finer than TRACE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11185872/

相关文章:

c# - 目录存在(@"\\SERVERIP\aFolder\bFolder");总是返回 false

java - 如何通过 Java 使用 MDC 日志记录

logging - 在长期运行的进程中跟踪警告/错误的最佳实践是什么?

ios - 我可以获得有关 iOS 崩溃日志的帮助吗?

.net-4.0 - log4net 与 .NET 4.0

mysql - 使用 log4net 存储日志信息

c# - 为什么这个方法会导致Code Analysis error CA2000 : Call Dispose()

c# - 项目构建但无法发布

C# - 获取引用的引用

log4net - LOG4NET 中的 ALL 和 DEBUG 跟踪级别有什么区别