如何从app.config告诉log4net使用哪个appender

时间:2010-09-10 15:31:04

标签: c# logging log4net log4net-configuration

我有一个快速的log4net问题。如何从app.Config中指定要使用的appender? 此特定配置文件引用2个不同的appender。两者都是滚动文件追加器,但它们指向不同的文件。在整个应用程序中,正在调用log4net并将类型传递给构造函数。像这样...

 private static readonly ILog log = LogManager.GetLogger(typeof(Foo));

log4net如何知道选择哪个appender?您可以将类型映射到特定的命名appender吗?我知道GetLogger有5个构造函数,你能传递一个类型和一个appender名称吗?我看到“repositoryName”,不知道那是什么。如果有人能指出我正确的方向,我会非常感激。我想要一组特定的类型来专门记录到一个appender。

感谢您的任何提示,
〜在圣地亚哥

1 个答案:

答案 0 :(得分:6)

使用<logger>的完整班级名称Foo元素:

<logger name="full.parent.namespace.Foo">
  <level value="WARN" />
  <appender-ref ref="SomeAppender" />
</logger>

指定要使用的所需输出追加器的最低级别和引用。

通过省略类名,您还可以对特定命名空间中的所有类使用单个<logger>

<logger name="full.parent.namespace">
  ....
</logger>