Search code examples
log4netlog4net-configuration

How to remove the date from the log file name in log4net


The log file i wanted is just "Log.txt.0" and I don't want the date to be appended to the log file. Even after not adding the date pattern I am getting the date appended to the log file.

<?xml version="1.0"?>
<configuration>
<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
    <appender name="Console" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
            <!-- Pattern to output the caller's file name and line number -->
            <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
        </layout>
    </appender>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
        <!-- Log files are logged in the AppData path for Traylogs.log -->
        <file value="${APPDATA}\Project\Application\My Application\Logs.txt"/>
        <staticLogFileName value="false" />
        <appendToFile value="true" />
        <countDirection value="1"/>
        <appendToFile value="true" />
        <maximumFileSize value="100KB" />
        <maxSizeRollBackups value="2" />
        <layout type="log4net.Layout.PatternLayout">            
            <conversionPattern value="%level %thread %logger - %message%newline" />
        </layout>
    </appender>
    <root>
        <level value="ALL" />
        <appender-ref ref="Console" />
        <appender-ref ref="RollingFile" />
    </root>
</log4net>
<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<system.serviceModel>
    <bindings />
    <client />
</system.serviceModel>
</configuration>

How can I remove this date that is appended to the log file?


Solution

  • By default we have datePattern = ".yyyy-MM-dd" (so you have this postfix). So, if you don't need date in log file name, you can set <datePattern value="" /> (empty string instead of default value).