【问题标题】:Enterprise library logging application block - how to control where things are logged企业库日志记录应用程序块 - 如何控制记录的位置
【发布时间】:2012-02-14 09:00:36
【问题描述】:
我需要将相同的代码记录到两个不同上下文中的两个不同位置。这适用于记录的所有内容 - 信息、警告、错误 - 这样我就可以得到两个上下文的两个单独的跟踪。
我没有使用 entlib 的经验,但知道它具有将条目分发到多个来源的一些功能。
启动日志记录的代码知道它在哪个上下文中。因此,我认为可以用一些信息“标记” LogEntry,然后让 LogWriter 门面根据此决定将条目发送到哪里。我可以通过配置来做到这一点吗?如果没有,我需要在 entlib 中扩展/修改什么?
【问题讨论】:
标签:
logging
enterprise-library
【解决方案1】:
其实发现并不难。
解决办法是
- 让代码根据上下文创建 2 个不同类别的日志
- 将日志条目分发到两个日志源 (*)
- 为每个日志源配置一个过滤器,以便只有相关类别通过
(*) 恕我直言,“日志源”是一个不合逻辑的名称,但这是 EntLib 用于提供实际日志实现的对象的术语。在我看来,“日志目的地”或“日志提供者”将是一个更好的术语。 “日志来源”将是“记录信息的来源”。