我有一个快速的 log4net 问题。如何从 app.Config 指定要使用的附加程序? 这个特定的配置文件引用了 2 个不同的附加程序。两者都是滚动文件附加程序,但它们指向不同的文件。在整个应用程序中,log4net 被调用并将一个类型传递到构造函数中。像这样……
private static readonly ILog log = LogManager.GetLogger(typeof(Foo));
log4net 如何知道选择哪个附加程序?您可以将类型映射到特定的命名附加程序吗?我知道 GetLogger 有 5 个构造函数,你能传递一个类型和一个附加程序名称吗?我看到“repositoryName”,不确定那是什么。如果有人能指出我正确的方向,我将不胜感激。我想要一组特定的类型专门记录到一个附加程序。
感谢您的任何提示,
~ck 在圣地亚哥
最佳答案
使用 <logger>
元素,使用 Foo
的完整类名:
<logger name="full.parent.namespace.Foo">
<level value="WARN" />
<appender-ref ref="SomeAppender" />
</logger>
指定最低级别和对要使用的所需输出附加程序的引用。
您也可以使用单个 <logger>
对于特定命名空间中的所有类,省略类名。
<logger name="full.parent.namespace">
....
</logger>
关于c# - 我如何从 app.config 中告诉 log4net 使用哪个 appender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3685965/