企业库日志应用程序阻止不同的来源

时间:2010-01-29 09:36:42

标签: c# logging enterprise-library

我们的主要应用程序使用了许多程序集(类库)。我想将一些程序集的日志路由到不同的目的地,但我有一个App.Config文件,那么我该如何实现呢?我非常确定在Logging Application Block中有一个我不知道的设置。另外,我想根据日志记录的优先级(无论是否记录日志)来记录日志。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我所做的是为每个程序集创建一个类别和一个跟踪侦听器。我使用了主可执行文件的app.config文件,其他程序集工作正常。

考虑到日志级别,它已经​​存在于Logging Application Block中,您可以使用Category Sources的SourceLevels属性或Trace Listeners的Filter属性来处理它。两者之间的区别在于范围。

来自模式&实践论坛:

  

它们是相同的,唯一的区别在于它们的范围。类别中的SourceLevels属性适用于属于它的所有跟踪侦听器。跟踪侦听器中的Filter属性显然仅适用于自身。首先在跟踪侦听器的类别级别上完成筛选。如果类别更具限制性,则不会继续调用跟踪侦听器。如果它允许所有类型的事件,则它会将日志条目传递给每个跟踪侦听器,并且每个跟踪侦听器都会检测它是否将根据其过滤器记录该条目。