什么是追踪,应该如何做?

时间:2008-10-07 14:40:43

标签: .net log4net trace

什么是追踪以及如何完成?

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

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

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

在所有项目和库中使用log4net不仅更容易(更好)。通过这种方式,项目可以指定他们想要记录内容的方式,而公共图书馆的日志记录只会听取项目。

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

有关此示例,您可以查看NHibernate或Castle ActiveRecord。这两者都可以被视为“常用工具”(他们正在进行数据访问)。他们都使用log4net。因此,通过在项目中使用它们,并使用log4net作为项目记录器,您可以指定所有记录数据都转到一个位置。

您是否希望以不同的方式设置不同的记录器。以便在INFO级别记录您的公共日志,并在ERROR中记录您的项目日志。

<小时/> 我刚刚发现另一个关于跟踪VS日志记录的问题,它似乎非常有用。看看吧。也许它会有所帮助。 Tracing versus Logging and how does log4net fit in?

答案 2 :(得分:-1)

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