Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

log4net - creating only one logfile

I am using log4net and when I'm running my application, several logfiles are created. It appears the log4net is creating a new logfile whenever the time-format changes, meaning I end up with a new logfile whenever a minute has passed.

I have probably missunderstod the xml syntax used, but I'm not sure where its wrong (maybe RollingFileAppender?).

Here's the xml file:

<log4net>

  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %-5level [%thread] %logger:%line - %message%newline"/>
    </layout>
  </appender>

  <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>
    <staticLogFileName value="false" />
    <datePattern value="yyyyMMdd_hhmm'.log'"/>
    <file value="Boghe"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %-5level [%thread] %logger:%line - %message%newline"/>
    </layout>
  </appender>

  <root>
    <level value="ALL"/>
    <appender-ref ref="ConsoleAppender"/>
    <appender-ref ref="FileAppender"/>
  </root>

</log4net>

Thanks

like image 429
KaiserJohaan Avatar asked Jun 21 '26 12:06

KaiserJohaan


1 Answers

If you really want just one file then you should use the normal file appender:

http://logging.apache.org/log4net/release/config-examples.html#FileAppender

Based on your comments I assume your application runs for a "short" time and therefore you want to have some date / time information in your log file name. This you can do like this:

<file type="log4net.Util.PatternString" value="Boghe%date{yyyyMMdd_hhmm}.log" />

Update:

Configuration Sample (that works for me):

<appender name="FileAppender" type="log4net.Appender.FileAppender">
   <file type="log4net.Util.PatternString"
         value="c:\temp\Boghe%date{yyyyMMdd_hhmm}.log" />

   <appendToFile value="true" />
   <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date - %message%newline" />
   </layout>
</appender>
like image 84
Stefan Egli Avatar answered Jun 24 '26 01:06

Stefan Egli