目標:
log4netのフレームワークを使用することにより、テキストファイルに日付の出力ログのサンプル・プログラムによって作成されました。
要件:
1 log4netのフレームワークを使用して、ロギング、システムログ管理を提供します。
店舗に対応するログ2ログテキストとの毎日。(日付によって区別するために、テキスト名をログに記録します)
要件分析:
メンテナンスlog4net.dllコンポーネントライブラリ1
2の方法をロールバックするログ・ファイルを使用するので、アペンダの選択:RollingFileAppenderに。
ロールバック形式:日付。
YYYYMMDD-HHmmm:最初の日付の書式を設定します
詳細な説明:
(1)コンソールアプリケーションのC#を作成します
(2)参照を追加log4net.dll
注意、log.set::(3)に、プロジェクト内のテキストファイル、ファイルの拡張子を追加し、このプロパティファイルを設定するには、次のとおりです。新しいコピーが存在する場合
ファイルの内容は以下のとおりです。
<?xml version = "1.0"エンコード= "UTF-8"?>
<log4netののxmlns = "URN:log4netの">
<ルートのxmlns = "">
<レベル値= "ALL" />
<アペンダ-REF REF =」 RollingLogFileAppender」/>
</ルート>
<アペンダのxmlns = ""名前は= "RollingLogFileAppender"タイプ= "log4net.Appender.RollingFileAppender">
<PARAM NAME = "ファイル"値= "\\ログを記録_" />
の<paramの名前= "AppendToFile"値= "TRUE" />
<PARAM NAME = "StaticLogFileName"値= "偽" />
<PARAM NAME = "DatePattern"値= "YYYYMMDD&QUOT; .logの&QUOT;" />
<PARAM名= "RollingStyle"値= "日" />
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<PARAM NAME = "ConversionPattern"値= "%のD [%のT]%-5p%C [%のX] - %mの%N "/> <! - 关于这里参数设置- >
</レイアウト>
</アペンダ>
</ log4netの>
(4)プロジェクトファイルAssembleInfo.csに追加:[アセンブリ:log4net.Config.XmlConfigurator(のConfigFile = "log.set"、時計=真)]を
(5)をコードします
。あなたのプログラム内のファイルを追加しました:使用:log4netの
b。ご使用のメイン関数にこのコードをコピー
=ログlog4net.LogManager.GetLoggerのILog(typeof演算(プログラム));
新しい新しいランダムランダム=ランダム();
(;;私は2 <I ++はint型I = 0)のための
{
//ログインエラー
IF(log.IsErrorEnabled)
ログ。デバッグ( "あなたがエラーを起こし、エラーIDがある:." + Random.Next()のToString());
//レコードの重大なエラー
IF(log.IsFatalEnabled)
log.Fatal(「要約エラーを主導します、システムを終了することがあり、IDは:です。 "+ Random.Next()のToString());
//レコードの一般的な情報
IF(log.IsInfoEnabled)
log.info("あなたがメッセージを録音することを計画し、idは次のとおりです。「+ランダム。次の()のToString());.
//レコードのデバッグ情報
IF(log.IsDebugEnabled)
log.debug( "デバッグ情報、デバッガIDが:." + Random.Next()のToString());
//警告情報を記録
IF(log.IsWarnEnabled)
{
log.Warn(「警告: ID警告である:「+ Random.Next()のToString());.
}
}
(6)テスト1日おきに1回は、コンソールアプリケーションを実行します。私はもう一度実行するために昨日と今日走ったとします。その後、プログラムのbin \ debugディレクトリの下にログフォルダがあるだろう、フォルダには、2つのテキストファイル「Log_20120427.log」と「Log_20120428」に表示されます。あなたはログを見ることができるファイルを開きます。
私は、サンプルプログラム、あまりにも悪く不正CSDNをアップロードしたいと思います。ダウンロードリンクの後ろに例を提供します
(7)以下では、いくつかの一般的なロールバック・ジャーナル保存されています
(収集)
RollingFileAppender主に基づいて、FileAppenderが構築され、多くのプロパティがFileAppenderメソッドから継承されているので、オプションが設定され、多くの同じあります。
log.txtという名前のログファイルの次の例は、ログファイル名は、ファイルサイズが変換され、100キロバイトに古いログファイルのサイズが、それはlog.txt.1、log.txt.2という名前のファイルを変換する場合は、 log.txt.3 ...、最大で10を持っています
<アペンダ名=タイプの"RollingFileAppenderは" = "log4net.Appender.RollingFileAppender">
<! -ファイル名をログ- >
<ファイル値= "log.txtという" />
<! -は、ファイルに追加されます- >
<appendToFile =値"真の" />
<! -ファイルのサイズに応じてログファイルを変換- >
<rollingStyle値= "サイズ" />
<! -最大変換数- >
<maxSizeRollBackups値= "10" />
<! -最大ファイルサイズ- >
<maximumFileSize値= "100キロバイト" />
<! -静的ログ・ファイルの名前かどうか- >
<staticLogFileName値= /> "真の"
タイプの<レイアウト=「log4netの。 Layout.PatternLayout「>
< conversionPattern値= "%日付[%スレッド】%-5level%ロガー[%プロパティ{NDC}] - %メッセージ%改行" />
</レイアウト>
</アペンダ>
期間は、それが後に接尾辞.logファイル名を追加する場合は、ここに記載さlogfileyyyyMMdd-HHMM、サプリメントを記録し、毎分変更ログは、ファイル名は、ファイル名をログファイル名を変換し、次の例では、エスケープする必要がありますなどの文字、<datePattern値= "YYYYMMDD-HHMM&QUOT; .logの&QUOT;" />
<種類のアペンダ名= "RollingLogFileAppender" = "log4net.Appender.RollingFileAppender">
<! -始まるファイル名をログ- >
<ファイル値= "LOGFILE" />
<! -ファイルに追加するかどうか- >
<appendToFile /> "真の" =値
!形式の日付を変換する- - > <
<rollingStyle値= "日付" />
<! -日付フォーマット- >
<datePattern値= "YYYYMMDD-HHMM" />
<タイプ=レイアウト"log4net.Layout.PatternLayout">
<ConversionPattern値= "%のDATE [スレッド%] %% -5levelロガー[%{プロパティNDC}] -メッセージ%改行%" />
</レイアウト>
</アペンダ>
次の例では、日付とファイルサイズ変換ログファイル名の統合利用を使用しています。
<種類のアペンダ名= "RollingLogFileAppender" = "log4net.Appender.RollingFileAppender">
<! -始まるファイル名をログ- >
<ファイル値= "LOGFILE" />
<! -ファイルに追加するかどうか- >
<appendToFile = "trueに"値/>
<! -ログファイル名変換の混合物の日付とサイズ- >
<rollingStyle値= "コンポジット" />
<! -日付フォーマット- >
<datePattern値= "YYYYMMDD" />
<! -変換の最大数- >
<maxSizeRollBackups値= "10" />
<! -最大ファイルサイズ- >
<maximumFileSize値= "1メガバイト" />
<レイアウトタイプ=「log4net.Layout.PatternLayout 「>
< conversionPattern値= "%日付[%スレッド】%-5level%ロガー[%プロパティ{NDC}] - %メッセージ%改行" />
</レイアウト>
</アペンダ>
実行するために、ログファイルが50Gは、ログファイル名を変えていくよりも大きい場合ここで、プログラムが実行されるたびに、元のログファイルがバックアップされている例です。
<アペンダ名=タイプの"RollingLogFileAppender" = "log4net.Appender.RollingFileAppender">
<! -ファイル名をログ- >
<ファイル値= "logfile.txtという" />
<! -元のファイルに追加されません- >
< "偽の" appendToFile =値/>
<! -ログファイル名の変換ファイルのサイズ- >
<rollingStyle値= "サイズ" />
<! -変換の最大数が限定されるものではない-1 - >
<maxSizeRollBackups =値" - 1" />
<! -最大ファイルサイズ- >
<maximumFileSize値= "50ギガバイト" />
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<ConversionPattern値=「%のDATE [スレッド%] %-5level%ロガー[%プロパティ{ NDC}] - %メッセージ%改行「/>
</レイアウト>
</アペンダ>
以下は、部分的に公開インスタンスプロパティRollingFileAppenderクラス(パブリックプロパティ)で、すべてのテストなしで、それはあなたが知っている場合は、レポートを書くことを躊躇しないでください、必然的誤謬です。
CountDirection:現在のファイルの定義は、ファイルやファイルの最大数の最小数です。デフォルトは-1、常に少ない数です。
datePattern:たDateFormatter日付形式、文字列型。
エンコード:、つまり、デフォルトはデフォルトで、プログラムコード自体エンコードされたファイルです。
FilterHead:デリミタヘッダ。
ImmediateFlush:すぐブール、ファイルに出力するかどうかを示します。
LockingModel:プログラムでの制限はここで設定できない場合は、ファイルロックの種類、RollingFileAppender自身が書かれたの安全性を確保するために、スレッドセーフスレッドセーフではありません。2つの種類があります。FileAppender.ExclusiveLockとFileAppender.MinimalLock
名前:存在Appanderの名前を設定します。
SecurityContextが:以下のアプリケーション、SecurityContextProvider変換を使用して、唯一のログタイプを暗号化します。(ログが比較的高い機密性の要件がそれに適用されるべきである場合には、非常に包括的なLog4は考慮さ)
しきい値:ようにDEBUG、INFO、および次のような、コンテンツのレベルを設定します。
RollingFileAppender主に基づいて、FileAppenderが構築され、多くのプロパティがFileAppenderメソッドから継承されているので、オプションが設定され、多くの同じあります。
log.txtという名前のログファイルの次の例は、ログファイル名は、ファイルサイズが変換され、100キロバイトに古いログファイルのサイズが、それはlog.txt.1、log.txt.2という名前のファイルを変換する場合は、 log.txt.3 ...、最大で10を持っています
<アペンダ名=タイプの"RollingFileAppenderは" = "log4net.Appender.RollingFileAppender">
<! -ファイル名をログ- >
<ファイル値= "log.txtという" />
<! -は、ファイルに追加されます- >
<appendToFile =値"真の" />
<! -ファイルのサイズに応じてログファイルを変換- >
<rollingStyle値= "サイズ" />
<! -最大変換数- >
<maxSizeRollBackups値= "10" />
<! -最大ファイルサイズ- >
<maximumFileSize値= "100キロバイト" />
<! -静的ログ・ファイルの名前かどうか- >
<staticLogFileName値= /> "真の"
タイプの<レイアウト=「log4netの。 Layout.PatternLayout「>
<conversionPattern値= "%日付[%スレッド】%-5level%ロガー[%プロパティ{NDC}] - %メッセージ%改行" />
</レイアウト>
</アペンダ>
期間は、それが後に接尾辞.logファイル名を追加する場合は、ここに記載さlogfileyyyyMMdd-HHMM、サプリメントを記録し、毎分変更ログは、ファイル名は、ファイル名をログファイル名を変換し、次の例では、エスケープする必要がありますなどの文字、<datePattern値= "YYYYMMDD-HHMM&QUOT; .logの&QUOT;" />
<種類のアペンダ名= "RollingLogFileAppender" = "log4net.Appender.RollingFileAppender">
<! -始まるファイル名をログ- >
<ファイル値= "LOGFILE" />
<! -ファイルに追加するかどうか- >
<appendToFile /> "真の" =値
!形式の日付を変換する- - > <
<rollingStyle値= "日付" />
<! -日付フォーマット- >
<datePattern値= "YYYYMMDD-HHMM" />
<タイプ=レイアウト"log4net.Layout.PatternLayout">
<ConversionPattern値= "%のDATE [スレッド%] %% -5levelロガー[%{プロパティNDC}] -メッセージ%改行%" />
</レイアウト>
</アペンダ>
次の例では、日付とファイルサイズ変換ログファイル名の統合利用を使用しています。
<種類のアペンダ名= "RollingLogFileAppender" = "log4net.Appender.RollingFileAppender">
<! -始まるファイル名をログ- >
<ファイル値= "LOGFILE" />
<! -ファイルに追加するかどうか- >
<appendToFile = "trueに"値/>
<! -ログファイル名変換の混合物の日付とサイズ- >
<rollingStyle値= "コンポジット" />
<! -日付フォーマット- >
<datePattern値= "YYYYMMDD" />
<! -変換の最大数- >
<maxSizeRollBackups値= "10" />
<! -最大ファイルサイズ- >
<maximumFileSize値= "1メガバイト" />
<レイアウトタイプ=「log4net.Layout.PatternLayout 「>
<conversionPattern値= "%日付[%スレッド】%-5level%ロガー[%プロパティ{NDC}] - %メッセージ%改行" />
</レイアウト>
</アペンダ>
実行するために、ログファイルが50Gは、ログファイル名を変えていくよりも大きい場合ここで、プログラムが実行されるたびに、元のログファイルがバックアップされている例です。
<アペンダ名=タイプの"RollingLogFileAppender" = "log4net.Appender.RollingFileAppender">
<! -ファイル名をログ- >
<ファイル値= "logfile.txtという" />
<! -元のファイルに追加されません- >
< "偽の" appendToFile =値/>
<! -ログファイル名の変換ファイルのサイズ- >
<rollingStyle値= "サイズ" />
<! -変換の最大数が限定されるものではない-1 - >
<maxSizeRollBackups =値" - 1" />
<! -最大ファイルサイズ- >
<maximumFileSize値= "50ギガバイト" />
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<ConversionPattern値=「%のDATE [スレッド%] %-5level%ロガー[%プロパティ{ NDC}] - %メッセージ%改行「/>
</レイアウト>
</アペンダ>
以下は、部分的に公開インスタンスプロパティRollingFileAppenderクラス(パブリックプロパティ)で、すべてのテストなしで、それはあなたが知っている場合は、レポートを書くことを躊躇しないでください、必然的誤謬です。
CountDirection:現在のファイルの定義は、ファイルやファイルの最大数の最小数です。デフォルトは-1、常に少ない数です。
datePattern:たDateFormatter日付形式、文字列型。
エンコード:、つまり、デフォルトはデフォルトで、プログラムコード自体エンコードされたファイルです。
FilterHead:デリミタヘッダ。
ImmediateFlush:すぐブール、ファイルに出力するかどうかを示します。
LockingModel:プログラムでの制限はここで設定できない場合は、ファイルロックの種類、RollingFileAppender自身が書かれたの安全性を確保するために、スレッドセーフスレッドセーフではありません。2つの種類があります。FileAppender.ExclusiveLockとFileAppender.MinimalLock
名前:存在Appanderの名前を設定します。
SecurityContextが:以下のアプリケーション、SecurityContextProvider変換を使用して、唯一のログタイプを暗号化します。(ログが比較的高い機密性の要件がそれに適用されるべきである場合には、非常に包括的なLog4は考慮さ)
しきい値:ようにDEBUG、INFO、および次のような、コンテンツのレベルを設定します。
このサンプル・プログラムは、アップロードしたい、不正CSDNはあまりにもよく過ごしました。