How to create different log files for different classes in one application

廉价感情. 提交于 2019-12-12 04:23:56

问题


I am trying to create two different log files for two classes in one application. Everything is working fine except when program runs, two log files are created when one file is executed. So problem is two files are created by calling object for one appender.

following is the code :

<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>

and i am trying to call like :

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

When Class1 gets called, it creates 2 files : "c1.log" and "c2.log" . Though c2.Log is 0 KB file and doesn't contain any data. How can i prevent this second file being made ?

来源:https://stackoverflow.com/questions/42806626/how-to-create-different-log-files-for-different-classes-in-one-application

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!