Sitecore 8,限制日志记录的大小

Sitecore 8, Limit the size of logging

我想将日志文件的大小限制为 50MB。我在 web.config

中有以下配置
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, Sitecore.Logging"/>

现在确定如何设置日志记录的最大文件大小了吗?

默认情况下,Sitecore 配置为所有日志记录提供 log4net.Appender.SitecoreLogFileAppender 类型。 SitecoreLogFileAppender 不支持最大文件大小。

您可以更改此配置以使用 log4net.Appender.RollingFileAppender。它支持最大文件大小 属性。

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="$(dataFolder)/logs/log.{date}.txt" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="0" />
    <maximumFileSize value="10MB" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" />
    </layout>
</appender>

此解决方案有一个缺点 - 每次超过文件大小限制时,您的所有日志都会被删除。

为了避免完全截断并仍然解决日志文件太大的问题,您可以将 maxSizeRollBackups 设置为一个较小的数字,例如2、分别减少maximumFileSize。这样,在截断之后,您仍然可以获得最新的日志消息,而不是 none.

此处与 log4net 相同:Maximum Filesize of LogFileAppender in Log4Net