読者です 読者をやめる 読者になる 読者になる

いろいろ備忘録日記

主に .NET と Python絡みのメモを公開しています。

Log4Netで複数プロセスから同じログファイルに書き込み (log4net.config, lockingModel, FileAppender+MinimalLock, Appender)


以下、自分用のメモです。
忘れない内にメモメモ。


Log4Netで複数のプロセスから同じログファイルに書き込めるようにするには
Appenderの設定部分にて

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

を追加する。


デフォルトは、排他モードとなっているので
一番最初にログファイルを握ったプロセス以外は書き込めないようになっています。


以下、サンプル。

        <appender name="AppLog"
                  type="log4net.Appender.RollingFileAppender">
            <param name="File" value="Log/applog.log" />
            <param name="AppendToFile" value="true" />
            <param name="MaxSizeRollBackups" value="30" />
            <param name="MaximumFileSize" value="100KB" />
            <param name="RollingStyle" value="date" />
            <param name="StaticLogFileName" value="true" />
            <param name="DatePattern" value='"."yyyyMMdd' />
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="xxxxxx" />
            </layout>
        </appender>

================================
過去の記事については、以下のページからご参照下さい。