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
?
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" />
来源:https://stackoverflow.com/questions/11503784/log4net-rolling-file-appender-file-name-format-when-maximumfilesize-reached