如何在一个应用程序中为不同的类创建不同的日志文件

时间:2017-03-15 10:10:25

标签: c# log4net

我正在尝试在一个应用程序中为两个类创建两个不同的日志文件。除了程序运行时,一切正常,一个文件执行时会创建两个日志文件。所以问题是通过调用一个appender的对象来创建两个文件。

以下是代码:

<log4net>
      <appender name="Class1" type="log4net.Appender.FileAppender">
      <file value="c:\c1.log" />
      <appendToFile value="false" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%message%newline" />
      </layout>
    </appender>

    <appender name="Class2" type="log4net.Appender.FileAppender">
      <file value="c:\c2.log" />
      <appendToFile value="false" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%message%newline" />
      </layout>
    </appender>

    <logger name="LogClass1" additivity="false">
      <level value="ALL" />
      <appender-ref ref="Class1" />
    </logger> 

   <logger name="LogClass2" additivity="false">
      <level value="ALL" />          
      <appender-ref ref="Class2" />
    </logger>      
  </log4net>

我想打电话给:

log4net.ILog log = log4net.LogManager.GetLogger("LogClass1");

调用Class1时,会创建2个文件:"c1.log""c2.log"。虽然c2.Log0 KB file,但不包含任何数据。如何防止发出第二个文件?

0 个答案:

没有答案