【问题标题】:TraceSource vs Enterprise logging blockTraceSource 与企业日志记录块
【发布时间】:2011-05-07 19:48:49
【问题描述】:

是否存在仅使用 TraceSource 不够的特定用例,应该考虑查看其他日志库(如 Enterprise logging block、log4net、NLog 等)?

【问题讨论】:

  • 仅供参考,我上次查看时,企业库日志记录基于 TraceSource、TraceListener 等。
  • 我知道。问题是为什么我应该使用企业库日志记录而不是 TraceSource、TraceListener 等?企业库日志记录有什么我不属于 TraceSource 等的吗?

标签: logging enterprise-library tracesource


【解决方案1】:

使用日志库的几个原因:

1。它提供您需要的功能或灵活性并节省开发工作

如果您想登录到以下位置,您可能需要使用 Enterprise Library:

  • 电子邮件
  • WMI
  • MSMQ
  • 数据库

我相信 .NET TraceListeners 不支持这些。

此外,如果您想要一些滚动文件行为(例如,每天或在特定大小之后的新文件等),那么 Enterprise Library、log4net 等也支持该功能。使用 Enterprise Library,消息格式也可以在运行时通过以下方式设置配置,以便增加一些灵活性。

2。开发人员可能更熟悉通用日志库而不是自定义方法

我参与的大多数项目都使用了某种日志库。

3。它可以提供超出内置日志记录功能的抽象级别

【讨论】:

    【解决方案2】:

    我发现企业库日志记录的主要好处是它非常可配置。您可以为各种日志记录类别配置详细信息,然后在生产环境中根据需要进行更改。

    例如,您的标准生产配置可能是仅将错误级别信息记录到 Windows 事件日志(可能是因为您有一些监视软件监视事件日志)。您可以配置警告或信息性消息的日志记录,但默认情况下将其关闭。当需要在生产中查看该信息时,您的运营人员只需启用这些类别足够长的时间来诊断问题。

    另一个好处是它提供远程日志记录,可以通过直接记录到数据库,也可以通过 MSMQ 队列记录到远程代理。这允许集中记录日志,同时通过使用队列使其可靠。

    【讨论】:

    • 所以你不能做这种类型的配置,远程记录或直接用 TraceSource 记录到 dabtase?此链接似乎暗示了其他 msdn.microsoft.com/en-us/library/ms733025.aspx 只是为了清楚起见,我对企业库日志记录块中无法通过简单 TraceSource 完成的任何功能特别感兴趣
    • 不,你不能用 TraceSource 或任何内置的 TraceListeners 做这些事情。您可以为此目的编写自己的代码,但企业库就是这样做的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2022-12-19
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 2010-12-30
    • 2010-09-26
    相关资源
    最近更新 更多