指定log4net配置以在using/parent项目的类库中使用

本文关键字:项目 类库 parent 配置 log4net using 指定 | 更新日期: 2023-09-27 18:26:23

我已经在一个类库项目中实现了log4net,比如:

private static readonly ILog _logger = 
        LogManager.GetLogger(typeof(SomeClass));

这就是我所做的一切。没有配置文件或任何东西。

然后,在我引用这个类库的项目中,我在app.config:中包含了一个log4net配置部分

<log4net>
<root>
  <level value="ALL" />
  <appender-ref ref="FileAppender"/>
</root>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
  <file value="C:/abcd.log" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  </layout>
</appender>

现在,可以说,类库项目中的log4net记录器无法从其"父"项目中读取配置。

我确信我需要更多的配置,但我不知道从哪里开始。关于stackoverflow等也有类似的问题,但我相信他们并没有真正给出如何做到这一点的答案。

非常感谢你的帮助。

谢谢。

指定log4net配置以在using/parent项目的类库中使用

您必须告诉log4net在哪里可以找到日志配置。log4net手册中介绍了如何进行此操作。

我更喜欢将[assembly: log4net.Config.XmlConfigurator(Watch=true)]添加到应用程序的AssemblyInfo.cs文件中。