log4net rolling file appender file name format when maximumFileSize reached
Asked Answered
Q

1

12

We're using the log4net rolling file appender and have the following requirements for our log files:

  • A new log file at the start of each day, with the date in the filename
  • A maximum log file size of 500KB

The issue we are having is the file naming strategy when files hit 500KB: they get renamed with a .1 suffix. This is problematic as it breaks file association in Windows, so opening the files is (slightly) more of a chore.

The configuration we're using is:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="c:\log\path" />
  <staticLogFileName value="false" />
  <appendToFile value="true" />
  <rollingStyle value="Composite" />
  <datePattern value=".yyyy-MM-dd.lo\g" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <maxSizeRollBackups value="50" />
  <maximumFileSize value="500KB" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %message%newline" />
  </layout>
</appender>

Is there support for specifying the naming strategy used when our files hit the maximumFileSize?

Quass answered 16/7, 2012 at 11:58 Comment(0)
B
9

Version 1.2.11 of log4net includes the PreserveLogFileNameExtension property on the RollingFileAppender. Setting the property to true will allow files to be rolled in the format logName.roll#.fileExt, keeping your file associations intact.

The entry inside the appender block would look like:
<param name="PreserveLogFileNameExtension" value="true" />

Bulimia answered 14/11, 2012 at 5:34 Comment(3)
Can this used like: <appender>.....<PreserveLogFileNameExtension value="true"/>...</appender>Rumsey
@ch.smrutiranjanparida - Answer is updated for your question.Bulimia
Actually inside an appender-block the syntax shouldn't be param name but <preserveLogFileNameExtension value="true" />Semela

© 2022 - 2024 — McMap. All rights reserved.