【问题标题】:How can I tell log4net which appender to use from app.config如何告诉 log4net 从 app.config 使用哪个附加程序
【发布时间】:2011-04-10 19:13:49
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# logging log4net log4net-configuration


    【解决方案1】:

    使用<logger> 元素,使用Foo 的完整类名:

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

    指定要使用的最低级别和对所需输出附加程序的引用。

    您还可以通过省略类名来为特定命名空间中的所有类使用单个 &lt;logger&gt;

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

    【讨论】:

    • 完美!非常感谢。 ~ck
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 2010-09-27
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多