基本的な使用のLog4j
優先、ログ情報の出力先、ログ情報をログ情報の出力形式:log4jは3つの主要コンポーネントから構成されています。最も低い優先順位がERROR、WARN、INFO、それぞれDEBUGは、このログ情報の重要度を指定するために使用されているために最高の情報をログと出力するステップと、ログはコンソールまたはファイルに印刷される指定された情報の出力先をログ制御ログ情報の内容を表示フォーマット。
2.1、カスタムプロファイル
実際には、あなたはまた、設定ファイルを使用していないことができますが、コードでLog4jの環境を設定します。ただし、構成ファイルを使用すると、アプリケーションをより柔軟になります。Log4jのは、1つのJavaプロパティファイル(キー=値)で、2つの設定ファイルの形式XML形式のファイルをサポートしています。ここでは、コンフィギュレーション・ファイル方式として、Javaプロパティファイルの使用を紹介:
1.設定ルートロガー、構文は次のとおりです。
log4j.rootLogger = [ level ] , appenderName, appenderName, …
一つは、レベルのログがOFFに分け、優先順位で、FATAL、ERRORは、WARN、INFO、DEBUG、ALLまたはあなたがレベルを定義します。log4jは、ERRORあるWARN最高から最低の優先度に、唯一の4つのレベルを使用するINFO、DEBUGをお勧めします。ここではレベルによって定義され、あなたは情報の適切なレベルのアプリケーションのログを記録するようにスイッチを制御することができます。例えば、ここではINFOレベルの定義に、すべてのDEBUGレベルのログ情報の適用は印刷されません。appenderName B場所に出力ログ情報を指します。あなたは、複数の出力先を指定することができます。
2.ログ情報の出力先アペンダを設定し、構文は次のとおりです。
-
log4j.appender.appenderName = fully.qualified.name.of.appender.class
-
log4j.appender.appenderName.option1 = VALUE1
-
...
-
log4j.appender.appenderName.option =値N
これは、アペンダLog4jの提供次のとおりです。
-
ORG .apache .log4j .ConsoleAppender(コンソール)、
-
ORG .apache .log4j .FileAppender(ファイル)、
-
ORG .apache .log4j .DailyRollingFileAppender(毎日ログファイルを生成)、
-
ORG .apache .log4j .RollingFileAppender(新しいファイルを生成する際にファイルサイズが指定されたサイズに達します)
-
ORG .apache .log4j .WriterAppender(ログストリーム形式情報は、任意の指定された場所に送信されます)
3.ログ情報のフォーマット(レイアウト)を設定し、その構文は次のとおりです。
-
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
-
log4j.appender.appenderName.layout.option1 = VALUE1
-
...
-
log4j.appender.appenderName.layout.option =値N
ここで、レイアウトLog4jのは、複数の電子に提供されています。
-
ORG .apache .log4j .HTMLLayout(持つレイアウトHTMLテーブル形式)、
-
ORG .apache .log4j .PatternLayout(柔軟性がレイアウトモードを指定します)、
-
ORG .apache .log4j .SimpleLayout(レベル情報を含む情報文字列をログ)、
-
ORG .apache .log4j .TTCCLayout(等ログが生成された時間、スレッド、タイプ情報を含みます)
次のように印刷用にフォーマットされたC言語のprintf関数のログ情報と同様log4jは、印刷パラメータは、メッセージで指定された%m個の出力コード
%Pの出力優先順位、即ちDEBUG、INFO、WARN、ERROR、FATAL
アプリケーションから%のR&LT出力を出力し始めるミリ秒数は、使用済みログ情報
%C出力カテゴリが属するクラスの通常フルネーム
%のTプロデュース出力ログイベントのスレッド名
出力%nは改行を入力し、Windowsプラットフォーム「RN」、UNIXプラットフォーム「n」は
時間の日付や時刻%d個の出力ログポイント、デフォルトのフォーマットはISO8601で、後で指定することができますフォーマット、例えば:%のD {YYY MMMはHH ddは :MM:SS、SSSを}、 同様の出力:2002年10日付18日目である22である:10:28、カテゴリ名など、発生場所921パーセントのL出力ログ・イベントは、発生スレッド、ならびにコードの行数。例:Testlog4.main(TestLog4.java:10)
2.2使用してコードのLog4j
1.レコーダー得
Log4jのを使用して、最初のステップは、ロガーが制御ログ情報を担当する、ロガーを取得することです。構文は次のとおりです。
パブリック静的ロガーのgetLogger(文字列名)
必要に応じて、名前を指定してレコードを取得、名前は新しいレコーダーを作成することでした。名前は、一般的のような、クラスの名前を取ります
静的ロガーロガー= Logger.getLogger(ServerWithLog4j.class.getName())
2.設定ファイルを読みます
ロガーを取得した後、第2のステップはLog4jの環境を設定します、構文は次のとおりです。
-
BasicConfiguratorの.configure():自動使用デフォルトのLog4j環境。
-
PropertyConfiguratorの.configure(文字列configFilename):使用して読んでJavaプロパティが書かれたプロファイルを提出。
-
DOMConfiguratorの.configure(文字列のファイル名):読み取りXML形式の設定ファイルを。
3.挿入記録情報(情報のフォーマットをログ)
次のように必要な2つのステップが終了したら、あなたは簡単にあなたがログインする任意の場所に異なる優先順位を持つログ・ステートメントを使用することができ、その構文は次のとおりです。
-
ロガー.DEBUG(オブジェクト・メッセージ)。
-
ロガーの.info(オブジェクト・メッセージ)。
-
ロガー.WARN(オブジェクト・メッセージ)。
-
ロガー.ERROR(オブジェクト・メッセージ)。
2.3、レベルを記録
各ロガーは、出力ログ情報を制御するためのログレベル(レベルログ)、です。:ハイからローにログレベルが分かれている
A:近いすべてのロギングのOFF最高レベル。
B:致命的なアプリケーションを終了する場合は、すべての重大なエラーが発生したことを指摘しました。
C:エラーエラーが指摘されている事件が、まだシステムの継続動作には影響を与えません。
D:温かいは、潜在的なエラー条件が存在することを示しています。
E:一般的と粗粒レベルでの情報、実行にアプリケーション全体を強調。
Fは:一般的なアプリケーションをデバッグするため、きめの細かいレベルで使用デバッグは非常に有用です。
G:すべての最低レベルは、すべてのログを開きます。
これらのレベルはorg.apache.log4j.Levelクラスで、上記で定義されています。Log4jには、低優先度の高いからエラー、警告、情報、およびデバッグで、唯一の4つのレベルを使用することをお勧めします。ログレベルを使用することで、アプリケーションのログ情報に対応する出力レベルを制御することができます。例えば、情報レベルB場合、(例えば、デバッグなど)、ログ情報情報のアプリケーション・プログラムの下のすべてのレベルが印刷されません。
Log4jの設定ファイルlog4j.properties
###の出力レベルを設定するには、デバッグ出力はここに###以上になります
### Log4jに、重要性、サブOFF、FATAL、ERRORの度合いに応じて情報を記録WARN、INFO、DEBUG、ALL
### Log4jの関係者は、実際の実用を提案しました次いで、Log4jのが唯一の4つのレベルを使用することを推奨し、最高最低の優先度には、INFO、DEBUG、ERRORであるWARN
Log4j.rootLogger =デバッグ、STDOUT、D、E
リフト###に制御情報を出力する###
log4j.appender = org.apache.log4j.ConsoleAppenderは.stdoutことを告げる
log4j.appender.stdout.Target =のSystem.out
log4j.appender.stdout.layout = Org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p 】%のD {YYYY-MM- DD HH:MM:SS、SSS}方法:%の1%のn個の%m個の%N
を出力する###以上のログファイル・レベルのデバッグE://JavaProjects/Log4j/debug.log# ##
log4j.appender.D = org.apache.log4j.FileAppender
log4j.appender.D.File = E://JavaProjects/Log4j/debug.log
trueにlog4j.appender.D.Append =
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern =%dの{YYYY-MM-DD HH:MM:SS} [%のT:%のR] - [%のP 】%のM%N
###输出ERROR级别以上的日志到文件E://JavaProjects/Log4j/error.log ###
log4j.appender.E = org.apache.log4j.FileAppender
log4j.appender.E.File = E://JavaProjects/Log4j/error.log
log4j.appender.E.Append =真
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E .layout.ConversionPattern =%dの{YYYY-MM-DD HH:MM:SS} [%T:%のR] - [%P]%のm個の%nを