什么是跟踪,应该如何进行?
我在我的项目中包含了一个通用实用程序库,我希望能够从中获得一些输出。我一直在使用 log4net,但我不想让我的常用实用程序库依赖于 log4net。那有意义吗?
编辑:日志记录和跟踪之间是否存在关联?出于某种原因,我是否想将跟踪和登录放到同一个流中?
我是否应该用 System.Diagnostics.Trace.WriteLine(..)s 替换我项目中的一些 log4net Logger.Debug(..)?
以下是 .NET BCL 团队的 Mike Rousos 的一些博客文章:
在您的所有项目和库中使用 log4net 不仅更容易(更好地阅读)吗?通过这种方式,项目可以指定他们想要如何记录内容,而您的公共库的日志记录将只听该项目。
如果您有一个用于公共库的自定义记录器,那么您最终会在一个地方拥有公共日志,而在另一个地方拥有应用程序(项目)日志。
例如,您可以查看 NHibernate 或 Castle ActiveRecord。这两个都可以被视为“通用实用程序”(它们正在执行您的数据访问)。他们都使用 log4net。因此,通过在您的项目中使用它们,并使用 log4net 作为您的项目记录器,您可以指定将所有日志记录数据集中到一个位置。
如果您愿意,您甚至可以以不同的方式设置不同的记录器。以便在 INFO 级别记录您的常见日志,并在 ERROR 记录您的项目日志。
我同意 FryHard,或者使用您的自定义类更好地扩展 log4net。