【问题标题】:What is tracing and how should it be done?什么是跟踪,应该如何进行?
【发布时间】:2011-11-10 10:46:17
【问题描述】:

什么是跟踪,应该如何进行?

我在我的项目中包含了一个通用实用程序库,我希望能够从中获得一些输出。我一直在使用 log4net,但我不想让我的常用实用程序库依赖于 log4net。这有意义吗?

编辑: 日志记录和跟踪之间是否存在关联?出于某种原因,我是否希望将跟踪和日志记录放在同一个流中?

我是否应该将项目中的一些 log4net Logger.Debug(..) 替换为 System.Diagnostics.Trace.WriteLine(..)s?

【问题讨论】:

    标签: .net log4net trace


    【解决方案1】:

    以下是 .NET BCL 团队的 Mike Rousos 的一些博客文章:

    【讨论】:

      【解决方案2】:

      在您的所有项目和库中使用 log4net 不仅更容易(更好地阅读)吗?通过这种方式,项目可以指定他们希望如何记录内容,而您的公共库的日志记录只会监听项目。

      如果您有一个用于公共库的自定义记录器,您最终会在一个地方拥有公共日志,而在另一个地方拥有应用程序(项目)日志。

      您可以查看 NHibernate 或 Castle ActiveRecord 作为示例。这两个都可以被视为“通用实用程序”(它们正在执行您的数据访问)。他们都使用 log4net。因此,通过在您的项目中使用它们,并使用 log4net 作为您的项目记录器,您可以指定将所有日志记录数据集中到一个位置。

      如果您愿意,您甚至可以以不同的方式设置不同的记录器。以便在 INFO 级别记录您的常用日志,在 ERROR 级别记录您的项目日志。


      我刚刚发现另一个关于跟踪 VS 日志记录的问题,它似乎很深入。看看它。也许它会有所帮助。 Tracing versus Logging and how does log4net fit in?

      【讨论】:

        【解决方案3】:

        我同意 FryHard,或者使用您的自定义类更好地扩展 log4net。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-10
          • 1970-01-01
          相关资源
          最近更新 更多