Log4Net文件参数

时间:2013-08-12 13:47:23

标签: c# file log4net

这有两个问题合二为一,都与log4net有关。

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="%property{LogName}" />
      <encoding value="utf-8"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <maximumFileSize value="10MB"/>
      <staticLogFileName value="false"/>
      <datePattern value=".MM-dd-yyyy"/>
      <preserveLogFileNameExtension value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %-5level %logger - %message%newline"/>
      </layout>
    </appender>
    <root>
      <level value="ALL" />
      <appender-ref ref="LogFileAppender"/>
    </root>
  </log4net>
</configuration>

我有这个配置,我想要实现的是,我总是只有一个最大10 MB的日志文件。

我得到的问题是它每天都会创建一个新文件(我想保留文件应该修复它),当我离开它太长时间(意外地将它留在一夜之间)时,我回到了一个文件这是6 GB大(我认为maximumFileSize应该处理)。

我是否假设log4net太多或者我没有正确设置记录器?

3 个答案:

答案 0 :(得分:2)

您需要指定

      <rollingStyle value="Size"/>

  <maxSizeRollBackups value="1"/>
  <maximumFileSize value="10MB"/>

maxSizeRollBackups =日志文件数

maximumFileSize =一个日志文件的最大大小

答案 1 :(得分:1)

您需要指定

<RollingStyle value="Composite" />
<!-- change file depending date and length of the log file -->

<RollingStyle value="Size" />
<!-- change file depending length of the log file -->

而不是Date

答案 2 :(得分:1)

问题是<rollingStyle value="Date"/>

应该是

<rollingStyle value="Size"/>

http://logging.apache.org/log4net/release/config-examples.html RollingFileAppender