Tschareck
Tschareck

Reputation: 4239

log4net creates new log every minute

log4net in my project creates new log file every minute. I would like to have just one file per instance of my application, but every instance that runs should create new log file.

This is from my app.config file:

<appender name="file" type="log4net.Appender.RollingFileAppender">
  <file value="C:\\Logs\\log2_"/>
  <rollingStyle value="Date"/>
  <datePattern value="MMdd_HHmmss.\tx\t"/>
  <staticLogFileName value="false"/>
  <appendToFile value="true"/>
  <maximumFileSize value="500MB"/>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date %-5level %message%newline"/>
  </layout>
</appender>

What is the error here?

Upvotes: 4

Views: 3330

Answers (2)

Michael Gattuso
Michael Gattuso

Reputation: 13200

Your rolling style is set to Date meaning it will rotate on a time based interval. The datePattern element appears to be misused but it set to roll every minute (the ./tx/t) seem extraneous.

From the documentation the following is the example for once per app instance (with a 50G hard limit):

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="logfile.txt" />
    <appendToFile value="false" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="-1" />
    <maximumFileSize value="50GB" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
</appender>

See here for the documentation

Upvotes: 6

burning_LEGION
burning_LEGION

Reputation: 13450

exclude dateTime minutes from file layout

Upvotes: 1

Related Questions