简体   繁体   中英

Multiple files in log4net

I have setup log4Net to create separate file for each day. But its creating multiple files for same day, please see below.

在此处输入图片说明

Below is my app.config , am I doing something wrong here?

<log4net>
    file appender
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="logs\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <maxSizeRollBackups value="30" />
      <maximumFileSize value="15MB" />
      <datePattern value="dd.MM.yyyy'.log'" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingFileAppender" />
    </root>
  </log4net>

This worked for me -

 <log4net> <root> <appender-ref ref="FileAppender" /> <appender-ref ref="ErrorAppender" /> </root> <appender name="FileAppender" type="log4net.Appender.RollingFileAppender"> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <file value="logs\\\\logfile" /> <staticLogFileName value="false" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <maxSizeRollBackups value="128" /> <maximumFileSize value="10MB" /> <datePattern value="_MM-dd-yyyy" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="DEBUG" /> <levelMax value="WARN" /> </filter> </appender> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <file value="logs\\\\logfile" /> <staticLogFileName value="false" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <maxSizeRollBackups value="128" /> <maximumFileSize value="10MB" /> <datePattern value="_MM-dd-yyyy" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline type: %type%newline method: %method%newline%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ERROR" /> <levelMax value="FATAL" /> </filter> </appender> </log4net> 

我认为您应该将Rolling Style值设置为使用“大小”而不是“日期”

 <rollingStyle value="Size" />

Your issue is the max file size configured to 15MB. See <maximumFileSize value="15MB" /> . You should change that configuration to a larger file size if you want a single file for the whole day.

The configuration defaults to 10MB if you remove the config altogether.

This can cause an extremely large file if everything is in a single file, unless your traffic/load is uniform.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM