2016-10-18 2 views
3

Я хотел бы ограничить размер файлов журнала до 50 МБ. У меня есть следующая конфигурация в web.configSitecore 8, Ограничьте размер регистрации

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, Sitecore.Logging"/> 

Теперь не забудьте установить максимальный размер файла для ведения журнала?

ответ

1

По умолчанию конфигурация 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> 

Это решение имеет один недостаток - каждый раз, когда предел размера файла превышен, все ваши журналы удаляются.

Чтобы избежать полного усечения и по-прежнему решить проблему с слишком большими файлами журнала, вы можете chante установить maxSizeRollBackups на низкое число, например. 2, и соответственно уменьшите maximumFileSize. Таким образом, сразу после усечения у вас все еще есть самые последние сообщения журнала, а не нет.

То же, что и для log4net здесь: Maximum Filesize of LogFileAppender in Log4Net

Смежные вопросы