RollingFileAppenderを使用する際に、Sitecoreログ ファイルが更新されなくなる場合があります。この問題は、以下のようなシナリオで発生する可能性があります。
この問題の根本的な原因は、リサイクルのオーバーラップの過程で、古いワーカー プロセスがログ ファイルをロックし、新しいワーカー プロセスがそれらのログ ファイルを更新できなくなることです。
この問題を解決するには、以下のいずれかのオプションを検討してください:
または、「\App_Config\Include\zzz」フォルダに設定パッチ ファイルを作成し、LogFileAppenderの構成を変更して対応することも可能です。
<?xml version="1.0" encoding="utf-8" ?> <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
<sitecore>
<log4net> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender, Sitecore.Logging" patch:instead="*[@name='LogFileAppender']"> <file value="/App_Data/logs2/log.{date}.{time}.txt"/> <appendToFile value="false" /> <countDirection value="1" /> <rollingStyle value="Size"/> <maxSizeRollBackups value="-1"/> <maximumFileSize value="10MB"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n"/> </layout> <encoding value="utf-8"/> </appender> </log4net> </sitecore> </configuration>
上記のパッチ ファイルの例では、appendToFileプロパティの値が「false」に設定され、countDirectionプロパティの値が「1」に設定されています。これにより、Application Poolのリサイクル、またはIISサーバの再起動の際に、ファイル名の末尾に連番が付与された新しいログ ファイルが作成されるようになります。