log4netのログ管理
A.Log4Netログ管理
次のようにlog4netのロギングレベルは次のとおりです。
レベル |
AllowedMethod |
ブール型プロパティ |
優先順位 |
オフ |
|
|
最高 |
FATAL |
空致命的(...); |
BOOL IsFatalEnabled; |
|
RROR |
無効エラー(...); |
IsErrorEnabled BOOL; |
|
WARN |
ボイド(...)警告します。 |
BOOL IsWarnEnabled; |
|
INFO |
無効情報(...); |
BOOL IsInfoEnabled; |
|
デバッグ |
デバッグ(...)を無効に。 |
BOOL IsDebugEnabled; |
|
すべて |
|
|
最低 |
log4netの管理は、このようなログファイル、データベース、コンソールなどの出力メディアを数多く提供してログインすると、ここでは、一般的に使用される媒体およびその使用の次の種類を強調しました:
1、ログファイルの出力媒体
a)のプロファイル設定
<configSections>
<セクション名= "log4netの" タイプ= "log4net.Config.Log4NetConfigurationSectionHandler、log4netの" />
</ configSections>
<log4netの>
<ルート>
<! - システムはレベルがここで設定したレベルよりも低い記録する必要がある場合は、ここでシステムに設定されたログレベルは、ログレコードではありません - >
<レベル値= "ALL" />
<! - メディアのログ出力の種類の定義は、出力媒体の多様性を定義することができ - >
<アペンダ-REF REF = "LogFileAppender" />
</ルート>
<! - 指定されたログファイルへの出力 - >
<アペンダ名= "LogFileAppender" タイプ= "log4net.Appender.FileAppender">
<! - このパラメータは、ログファイルに保存されているローカル設定項目を指定します。 - >
ます。<param name = "ファイル" 値は= "D:\ \ Client.logをログ" />
<! - この設定パラメータは、元のファイルにログエントリ情報を追加するかどうかを示します - >
ます。<param name = "AppendToFile" 値= "true" を/>
<! - このパラメータは、その情報の出力設定項目のレイアウトやフォーマットを示しています - >
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<PARAM名= "ConversionPattern" 値= "%のD [%のT]%-5p%C [%のX] - %のM%N" />
</レイアウト>
</アペンダ>
</ log4netの>
B)アプリケーション呼び出し
log4net.ILogログ= log4net.LogManager.GetLogger( "AAA")。
//書き込みエラーレベルのログ情報
log.Error(「出力エラーレベルのログ情報」)
//情報レベルのログ情報を書き込みます
log.Info( "Info出力レベルのログ情報");
図2は、出力媒体がデータベースであります
a)のプロファイル設定
<configSections>
<セクション名= "log4netの" タイプ= "log4net.Config.Log4NetConfigurationSectionHandler、log4netの" />
</ configSections>
<log4netの>
<ルート>
<! - システムはレベルがここで設定したレベルよりも低い記録する必要がある場合は、ここでシステムに設定されたログレベルは、ログレコードではありません - >
<レベル値= "ALL" />
<! - メディアのログ出力の種類の定義は、出力媒体の多様性を定義することができ - >
<アペンダ-REF REF = "AdoNetAppender" />
</ルート>
<! - データベース(SQLサーバー)への出力。。。ノースウィンドを使用したテストデータベース - >
<アペンダ名= "AdoNetAppender" タイプ= "log4net.Appender.AdoNetAppender">
<! - ログ情報の数がキャッシュに格納することができます提供 - >
<bufferSizeの値= "2" />
<connectionTypeに値を= "System.Data.SqlClient.SqlConnection、System.Data、バージョン= 0.0、カルチャニュートラル、PublicKeyToken = = B
<のConnectionString値= "サーバー=(ローカル);データベース= Northwindの;統合セキュリティ= falseを、セキュリティ情報= Trueの存続; UID = SAを; PWD =" />
<CommandTextを値= "INSERT INTOログ([日]、[スレッド]、[レベル]、[ロガー]、[メッセージ]、[例外])VALUES(@log_date、@thread、@log_level、@logger、@message、 @exception)」/>
<! - データベースパラメータの値に入ってくるのフィールドに対応します - >
<パラメータ>
<! - 渡されたパラメータ名 - >
<ParameterNameが値= "@のlog_date" />
<! - 渡された引数のタイプ - >
<のdbType値= "日時" />
<! - 渡された引数のレイアウトやフォーマット - >
<レイアウトタイプ= "log4net.Layout.RawTimeStampLayout" />
</パラメータ>
<パラメータ>
<ParameterNameが値= "@スレッド" />
<のdbType値= "文字列" />
<サイズ値= "255" />
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<conversionPattern値= "%スレッド" />
</レイアウト>
</パラメータ>
<パラメータ>
<ParameterNameが値= "@のLOG_LEVEL" />
<のdbType値= "文字列" />
<サイズ値= "50" />
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<conversionPattern値= "%レベル" />
</レイアウト>
</パラメータ>
<パラメータ>
<ParameterNameが値= "@ロガー" />
<のdbType値= "文字列" />
<サイズ値= "255" />
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<conversionPattern値= "%ロガー" />
</レイアウト>
</パラメータ>
<パラメータ>
<ParameterNameが値= "@メッセージ" />
<のdbType値= "文字列" />
<サイズ値= "4000" />
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<conversionPattern値= "%メッセージ" />
</レイアウト>
</パラメータ>
<パラメータ>
<ParameterNameが値= "@例外" />
<のdbType値= "文字列" />
<サイズ値= "2000" />
<レイアウトタイプ= "log4net.Layout.ExceptionLayout" />
</パラメータ>
</アペンダ>
</ log4netの>
B)アプリケーション呼び出し
log4net.ILogログ= log4net.LogManager.GetLogger( "AAA")。
//書き込みエラーレベルのログ情報
log.Error(「出力エラーレベルのログ情報」)
//情報レベルのログ情報を書き込みます
log.Info( "Info出力レベルのログ情報");
図3に示すように、コンソール出力媒体
a)のプロファイル設定
<configSections>
<セクション名= "log4netの" タイプ= "log4net.Config.Log4NetConfigurationSectionHandler、log4netの" />
</ configSections>
<log4netの>
<ルート>
<! - システムはレベルがここで設定したレベルよりも低い記録する必要がある場合は、ここでシステムに設定されたログレベルは、ログレコードではありません - >
<レベル値= "ALL" />
<! - メディアのログ出力の種類の定義は、出力媒体の多様性を定義することができ - >
<アペンダ-REF REF = "ConsoleAppender" />
</ルート>
<! - コンソールへの出力 - >
<アペンダ名= "ConsoleAppender" タイプ= "log4net.Appender.ConsoleAppender">
<! - このパラメータは、その情報の出力設定項目のレイアウトやフォーマットを示しています - >
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<PARAM名= "ConversionPattern" 値= "%のD [%のT]%-5p%C [%のX] - %のM%N" />
</レイアウト>
</アペンダ>
</ log4netの>
B)アプリケーション呼び出し
log4net.ILogログ= log4net.LogManager.GetLogger( "AAA")。
//書き込みエラーレベルのログ情報
log.Error(「出力エラーレベルのログ情報」)
//情報レベルのログ情報を書き込みます
log.Info( "Info出力レベルのログ情報");
図4に示すように、ローカル・マシンのアプリケーションイベントログの出力媒体
a)のプロファイル設定
<configSections>
<セクション名= "log4netの" タイプ= "log4net.Config.Log4NetConfigurationSectionHandler、log4netの" />
</ configSections>
<log4netの>
<ルート>
<! - システムはレベルがここで設定したレベルよりも低い記録する必要がある場合は、ここでシステムに設定されたログレベルは、ログレコードではありません - >
<レベル値= "ALL" />
<! - メディアのログ出力の種類の定義は、出力媒体の多様性を定義することができ - >
<アペンダ-REF REF = "EventLogAppender" />
</ルート>
<! - イベントログサービスへの出力 - >
<アペンダ名= "EventLogAppender" タイプ= "log4net.Appender.EventLogAppender">
<! - このパラメータは、その情報の出力設定項目のレイアウトやフォーマットを示しています - >
<レイアウトタイプ= "log4net.Layout.PatternLayout">
<PARAM名= "ConversionPattern" 値= "%のD [%のT]%-5p%C [%のX] - %のM%N" />
</レイアウト>
</アペンダ>
</ log4netの>
B)アプリケーション呼び出し
log4net.ILogログ= log4net.LogManager.GetLogger( "AAA")。
//書き込みエラーレベルのログ情報
log.Error(「出力エラーレベルのログ情報」)
//情報レベルのログ情報を書き込みます
log.Info( "Info出力レベルのログ情報");
5.その他
必要であれば、もはや、導入ここでは、他の出力媒体は、関連情報を参照することができます
使用する場合はlog4netのは、注意すべきいくつかのポイントがあります記録します。
- すなわち、出力メディア複数の複数のコンフィギュレーションの下で設定ファイル<ルート>ノード場合
<アペンダ-REF REF =「***」/>、それはメディアあなたが設定された出力ログ情報のそれぞれの複数に入金されます
- いくつかのログ・レコードに達するエラー又は他のレベルに必要とされることがあれば、我々は、アプリケーションシステムを開発しているので、次のように、この要件の間、我々は、(<ルート>プロファイルに追加)、レベルを定義する必要があります。
<! - 個々のログを定義するレベルを書き込み - >
<ロガー名=「メイン」>
<レベル値= "エラー"> </レベル>
</ロガー>
コール:
//設定ロガーの名前を指定します。
log4net.ILogログ= log4net.LogManager.GetLogger( "主")。
//書き込みエラーレベルのログ情報
log.Error(「出力エラーレベルのログ情報」)
//情報レベルのログ情報を書き込みます
log.Info( "Info出力レベルのログ情報");
(Benpianブログの Wordのダウンロード )
ます。https://www.cnblogs.com/shimeng3344518/archive/2007/04/19/719381.htmlで再現