我所拥有的服务突然喷出了大量的日志文件,并没有限制写入的文件数量。日志(有点)名为MyService.2015-01-08.1,MyService.2015-01-08.2,MyService.2015-01-08.3等,一直到218为止。我想将此限制为每天10次,而不是像现在这样无限制。以下是日志配置的内容:
<appender name="RollingFileAppender" type="Ourlib.Logging.CustomRollingFileAppender">
<file value="c:\logs\myservice" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<maxSizeRollBackups value="-1" />
<countDirection value="1" />
<maximumFileSize value="5000KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate [%thread] %-5level %property{CorrelationId} %property{CallPath} %logger{2} - %message%newline" />
</layout>
</appender>
我做了一些改变,如下所示。值得注意的是,我已将maxSizeRollBackups
设置为10,我认为这可以解决问题,但似乎并没有产生任何影响。
<appender name="RollingFileAppender" type="Ourlib.Logging.CustomRollingFileAppender">
<file value="c:\logs\myservice" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="5000KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate [%thread] %-5level %property{CorrelationId} %property{CallPath} %logger{2} - %message%newline" />
</layout>
</appender>
已经部署了更改,但它仍在创建新的日志文件,超过新设置的10。
假设我的部署正确完成,可能出现什么问题?我误解了我改变的配置属性,还是还有其他的东西在这里?
全部谢谢!
答案 0 :(得分:3)
尝试添加DatePattern,并将maxSizeRollBackups值的更改保持为10,如此
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="c:\logs\myservice" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value=".yyyy-MM-dd" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="5000KB" />
<countDirection value="1"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
这是一个复合RollingFileAppender,每天最多保留10个5000KB日志备份
答案 1 :(得分:-1)
请改为尝试:
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value=".\App.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<maximumFileSize value="10MB" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline" />
</layout>
</appender>
另一个例子:
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value=".\Logs\" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<datePattern value="'On_'yyyy-MM-dd'.log'" />
<appendToFile value="true" />
<maximumFileSize value="10MB" />
<maxSizeRollBackups value="10" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline" />
</layout>
</appender>
如果你必须使用自定义的那个,那么我想缺少的是:
<file value="c:\logs\myservice\" />
)的末尾敲打。