Log4net - создайте новый файл журнала при каждом запуске приложения - PullRequest
7 голосов
/ 13 июня 2011

Можем ли мы создавать отдельные файлы журнала каждый раз при запуске приложения? Если я запускаю свое приложение 2 раза, я должен получить 2 отдельных файла журнала, надеюсь, к именам файлов можно добавить созданный dateTime

например:
log_0830 - когда приложение запускается в 8:30
log_2130 - при запуске приложения в 21:30

Ответы [ 2 ]

3 голосов
/ 02 июля 2012

Поместите это в ваш app.config:

 <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
 </configSections>
 <log4net>
    <appender name="file" type="log4net.Appender.RollingFileAppender">
      <file value="log_"/>
      <rollingStyle value="Date"/>
      <datePattern value="HHmm.\tx\t"/>
      <staticLogFileName value="false"/>
      <appendToFile value="true" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %-5level %message%newline" />
      </layout>      
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="file"/>
    </root>
  </log4net>

Эта конфигурация будет производить имена файлов:
log_0830.txt - когда приложение запускается в 8:30 утра
log_2130.txt - при запуске приложения в 21:30

3 голосов
/ 14 июня 2011

Я полагаю, вы могли бы сделать это в конфигурации следующим образом:

<appender name="LogFileAppender" type="log4net.Appender.FileAppender"> 
    <file type="log4net.Util.PatternString" value="log-file-%d [%t].txt" /> 
    <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" /> 
</appender> 
...