log 4 netシリーズ(3)--RollingFileAppenderの詳細
この記事では、実際の製品で最もよく使われているappenderであるRollingFileAppenderについて説明します.
前にFileAppenderについて話しましたが、もし1つのシステムのすべてのログが1つのログファイルに記録されていたら、爆発するのではないでしょうか.だから私たちが本当に使っているのはRollingFileAppenderで、それは時間に基づいて一連のログファイルを生成して、単一のファイルが大きすぎる問題を避けます.次は、クラシックなRollingFileAppender構成です.
これらの構成の詳細をニーズの観点から逆方向に分析します.
1.私たちのログはどこに保存しますか?
パスを指定してくれました.
2.ログ・ファイルの名前は?
ファイル名の日付フォーマットを指定します.「.txt」の接尾辞を付ける場合は、単一引用符で包む必要があります.「でもいいです.つまり、以下の書き方は等価です.
ファイル名が変更されていることを示します.これをtrueにするとrollingのログファイルを生成できません.
ファイルの名前付け方法を指定します.「Componentosite」とは、ファイル名がsizeとdateで同時に命名されることを意味し、一般的にはこれを使用します.他にも3つの値があります:Once(プログラムが起動するたびに新しく1つ生成)、Size、Date.RollingStyle=Compositeの場合、Fileパラメータが「D:WebTestMyLog_」に設定されている場合、では、ファイル名は「MyLog_2015-11-27.txt」です.
3.ログファイルのサイズをどのように限定しますか?
各ログファイルが10 Mを超えないように制限します.
4.ログが指定したサイズを超えるとどうなりますか?
制限サイズに達すると、「2015-11-27.txt.1」などの新しいファイルが生成されることを示します.このように、「2015-11-27.txt.10」が生成されると、満タンになると、最初のファイルを後で上書きします.
5.ログはどのように書きますか.
説明ログはインクリメンタルで書き込まれます.falseにするとオーバーライドモードになります.
6.ログの内容のフォーマットは定義できますか?
LayoutラベルのConversionPatternパラメータは、「時間[スレッドid]レベルクラス名[メソッド名]-Line行番号:メッセージ内容+改行」など、各メッセージのフォーマットを定義できます.
例:2015-11-27 19:18:25320[89]ERROR ASP.default_aspx [Page_Load] - Line 9:Hello World!
Layoutのパラメータの詳細は単独で1章で説明します.
7.ログを書くとシステムのパフォーマンスに影響しますか?
ログを書くと必ずリソースが消費されますが、RollingFileAppenderもスレッドが安全ではありません.log 4 netがシステムの性能に影響する疑いを減らすためにlockingModelパラメータを追加し、FileAppenderを使用した.MinimalLockは、同時実行時にデッドロックが発生する確率を低減します.
それでも、ファイルのI/Oは常にパフォーマンスを消費しているので、ログをキャッシュして一度にファイルに書き込む方法はありませんか?BufferingForwardingAppenderはそのために生まれたので、次の章で使用方法を紹介します.
前にFileAppenderについて話しましたが、もし1つのシステムのすべてのログが1つのログファイルに記録されていたら、爆発するのではないでしょうか.だから私たちが本当に使っているのはRollingFileAppenderで、それは時間に基づいて一連のログファイルを生成して、単一のファイルが大きすぎる問題を避けます.次は、クラシックなRollingFileAppender構成です.
これらの構成の詳細をニーズの観点から逆方向に分析します.
1.私たちのログはどこに保存しますか?
パスを指定してくれました.
2.ログ・ファイルの名前は?
ファイル名の日付フォーマットを指定します.「.txt」の接尾辞を付ける場合は、単一引用符で包む必要があります.「でもいいです.つまり、以下の書き方は等価です.
ファイル名が変更されていることを示します.これをtrueにするとrollingのログファイルを生成できません.
ファイルの名前付け方法を指定します.「Componentosite」とは、ファイル名がsizeとdateで同時に命名されることを意味し、一般的にはこれを使用します.他にも3つの値があります:Once(プログラムが起動するたびに新しく1つ生成)、Size、Date.RollingStyle=Compositeの場合、Fileパラメータが「D:WebTestMyLog_」に設定されている場合、では、ファイル名は「MyLog_2015-11-27.txt」です.
3.ログファイルのサイズをどのように限定しますか?
各ログファイルが10 Mを超えないように制限します.
4.ログが指定したサイズを超えるとどうなりますか?
制限サイズに達すると、「2015-11-27.txt.1」などの新しいファイルが生成されることを示します.このように、「2015-11-27.txt.10」が生成されると、満タンになると、最初のファイルを後で上書きします.
5.ログはどのように書きますか.
説明ログはインクリメンタルで書き込まれます.falseにするとオーバーライドモードになります.
6.ログの内容のフォーマットは定義できますか?
LayoutラベルのConversionPatternパラメータは、「時間[スレッドid]レベルクラス名[メソッド名]-Line行番号:メッセージ内容+改行」など、各メッセージのフォーマットを定義できます.
例:2015-11-27 19:18:25320[89]ERROR ASP.default_aspx [Page_Load] - Line 9:Hello World!
Layoutのパラメータの詳細は単独で1章で説明します.
7.ログを書くとシステムのパフォーマンスに影響しますか?
ログを書くと必ずリソースが消費されますが、RollingFileAppenderもスレッドが安全ではありません.log 4 netがシステムの性能に影響する疑いを減らすためにlockingModelパラメータを追加し、FileAppenderを使用した.MinimalLockは、同時実行時にデッドロックが発生する確率を低減します.
それでも、ファイルのI/Oは常にパフォーマンスを消費しているので、ログをキャッシュして一度にファイルに書き込む方法はありませんか?BufferingForwardingAppenderはそのために生まれたので、次の章で使用方法を紹介します.