:log4jはダウンロードして詳細については、またはその公式サイトも訪問し、デバッグ(時々 、デバッグが機能していない)と分析を助けることができる
http://jakarta.apache.org/log4jを
。
2、Log4jの概念
のLog4jである3つの主要なコンポーネント、有する ロガー、アペンダおよびレイアウトを、Log4jのは、開発者が名前によってロガー間の所属を示すために、独自の名前でそれぞれ複数ロガー、ロガーを定義することを可能にします。ロガーと呼ばれるルートは、それは常に存在し、名前または参照することによって取得することができない、Logger.getRootLogger法()、ロガーLogger.getLogger(文字列名)法により他方を呼び出すことによって得ることができます。
アペンダはLog4jの内の任意の場所にすべてのログ情報を保存するために示すために使用されているような、複数のアペンダをサポートしています コンソール、ファイル、GUIコンポーネント、NTイベントロガーなど、Loggerは複数のアペンダを持つことができる、つまり、あなたが画面に出力される情報をログに記録し、ファイルに保存することができます。
レイアウトログ役割は、情報の出力、すなわち情報フォーマットされた出力を制御することです。
出力は、唯一の真の出力する情報指定された構成のレベルよりも高い場合に出力のLog4jは、5つのDEBUG、INFO、続いレベル、WARN、ERROR、およびFATALを規定するであろう情報をログので、便利ですコードを変更することなく、出力に異なる状況下でコンテンツを構成し、これは本当に簡単ああです。
3、Log4jの設定ファイル
、プロファイル設定をプログラムで実現されることはできませんが、システム開発のこの方法今日は明らかに望ましくないものの、ローカル設定ファイルを使用して確認する必要があります設定ファイルを採用することができます。Log4jの2つのコンフィギュレーション・ファイル・フォーマットをサポート:XML形式およびJavaプロパティのフォーマットを次のように、私は、単純な例では後者の、最初の外観を好む:
log4j.rootLogger =デバッグ、STDOUT、Rの
。log4j.appenderを標準出力 = ORG。 apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = Org.apache.log4j.PatternLayout
パターンに#出力の発信者「と行番号'はファイル名。
log4j.appender.stdout.layout.ConversionPattern%5P = [%T ](%F.:%のL) - %M%のn-
。log4j.appender R&LT = org.apache.log4j.RollingFileAppender
log4j.appender.R.File = example.log
log4j.appender.R.MaxFileSize = 100キロバイト
#つのバックアップファイルを保持
= 1 log4j.appender.R.MaxBackupIndexする。
ラインlog4j.appender.R.layout = Org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern%P%T = C% - %M%N-
まず、ルートを設定されていますフォーマットlog4j.rootLogger = [レベル]、appenderName、 ...、 アペンダの出力先に続いて出力レベルの情報を設定するために必要なレベルである、appenderNameが行われた出力ログ情報を指定することです。あなたは、複数の出力先を指定することができます。 構成情報のログ出力先アペンダ、構文は次のとおりです
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = VALUE1
...
=値N log4j.appender.appenderName.option
設けアペンダLog4jのは以下の通りである:
org.apache.log4j.ConsoleAppenderは、(コンソール)ことを指示
org.apache.log4j.FileAppender(ファイル)
org.apache.log4j.DailyRollingFileAppender(日あたりの生成しますログファイル)
org.apache.log4j.RollingFileAppender(ファイルサイズが新しいファイルを生成するために、指定されたサイズに達する)
Org.apache.log4j.WriterAppender(ストリーム形式のいずれかの指定された場所に情報をログ)
情報フォーマットをログ(レイアウト)、構文は:
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(等、時間、スレッド、タイプ情報を含む時刻をログ)
Log4Jの同様のC言語のprintf関数ログ印刷次のように印刷パラメータのためにフォーマットされた情報である:メッセージで指定%m個の出力コード<XML :?名前空間接頭辞= O />を
。4、Log4jには、プログラムで使用される 、彼らのLog4jのルーチンに使用するパスを構築するためにコモンズ-logging.jarおよびロギングにlog4j-1.2.9.jarをインポートする最初の必要性を。そして、SRCのルートディレクトリにlog4j.propertiesファイル。あなたは、プログラムでのlog4jを使用できるように。、クラスのlog4jで使用最初の変数、静的宣言ロガーロガー= Logger.getLog(「クラス名を」 ); 今、あなたは使用することができ、かつ、次のように使用されます。logger.debug(「デバッグメッセージ」)またはlogger.info(「情報メッセージ」 )、次の例で小さなルック: インポートcom.foo.Bar; インポートorg.apache.log4j.Logger; インポートorg.apache.log4j.PropertyConfigurator; publicクラスのMyApp { 静的ロガーロガー= Logger.getLogger(MyApp.class.getName ()); 公共の静的な無効メイン(文字列[] args){ //にPropertyConfiguratorに置き換えBasicConfigurator。 PropertyConfigurator.configure(引数[0]); logger.info( "ファイルアプリケーションを起動。");
バーバー=新・バー();
bar.doIt();
logger.info( "アプリケーションを終了します。");
}
}
2、Log4jの概念
のLog4jである3つの主要なコンポーネント、有する ロガー、アペンダおよびレイアウトを、Log4jのは、開発者が名前によってロガー間の所属を示すために、独自の名前でそれぞれ複数ロガー、ロガーを定義することを可能にします。ロガーと呼ばれるルートは、それは常に存在し、名前または参照することによって取得することができない、Logger.getRootLogger法()、ロガーLogger.getLogger(文字列名)法により他方を呼び出すことによって得ることができます。
アペンダはLog4jの内の任意の場所にすべてのログ情報を保存するために示すために使用されているような、複数のアペンダをサポートしています コンソール、ファイル、GUIコンポーネント、NTイベントロガーなど、Loggerは複数のアペンダを持つことができる、つまり、あなたが画面に出力される情報をログに記録し、ファイルに保存することができます。
レイアウトログ役割は、情報の出力、すなわち情報フォーマットされた出力を制御することです。
出力は、唯一の真の出力する情報指定された構成のレベルよりも高い場合に出力のLog4jは、5つのDEBUG、INFO、続いレベル、WARN、ERROR、およびFATALを規定するであろう情報をログので、便利ですコードを変更することなく、出力に異なる状況下でコンテンツを構成し、これは本当に簡単ああです。
3、Log4jの設定ファイル
、プロファイル設定をプログラムで実現されることはできませんが、システム開発のこの方法今日は明らかに望ましくないものの、ローカル設定ファイルを使用して確認する必要があります設定ファイルを採用することができます。Log4jの2つのコンフィギュレーション・ファイル・フォーマットをサポート:XML形式およびJavaプロパティのフォーマットを次のように、私は、単純な例では後者の、最初の外観を好む:
log4j.rootLogger =デバッグ、STDOUT、Rの
。log4j.appenderを標準出力 = ORG。 apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = Org.apache.log4j.PatternLayout
パターンに#出力の発信者「と行番号'はファイル名。
log4j.appender.stdout.layout.ConversionPattern%5P = [%T ](%F.:%のL) - %M%のn-
。log4j.appender R&LT = org.apache.log4j.RollingFileAppender
log4j.appender.R.File = example.log
log4j.appender.R.MaxFileSize = 100キロバイト
#つのバックアップファイルを保持
= 1 log4j.appender.R.MaxBackupIndexする。
ラインlog4j.appender.R.layout = Org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern%P%T = C% - %M%N-
まず、ルートを設定されていますフォーマットlog4j.rootLogger = [レベル]、appenderName、 ...、 アペンダの出力先に続いて出力レベルの情報を設定するために必要なレベルである、appenderNameが行われた出力ログ情報を指定することです。あなたは、複数の出力先を指定することができます。 構成情報のログ出力先アペンダ、構文は次のとおりです
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = VALUE1
...
=値N log4j.appender.appenderName.option
設けアペンダLog4jのは以下の通りである:
org.apache.log4j.ConsoleAppenderは、(コンソール)ことを指示
org.apache.log4j.FileAppender(ファイル)
org.apache.log4j.DailyRollingFileAppender(日あたりの生成しますログファイル)
org.apache.log4j.RollingFileAppender(ファイルサイズが新しいファイルを生成するために、指定されたサイズに達する)
Org.apache.log4j.WriterAppender(ストリーム形式のいずれかの指定された場所に情報をログ)
情報フォーマットをログ(レイアウト)、構文は:
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(等、時間、スレッド、タイプ情報を含む時刻をログ)
Log4Jの同様のC言語のprintf関数ログ印刷次のように印刷パラメータのためにフォーマットされた情報である:メッセージで指定%m個の出力コード<XML :?名前空間接頭辞= O />を
%Pの出力優先順位、即ちDEBUG、INFO、WARN、ERROR、FATAL
出力ミリ秒の数ので%のR&LT出力費やしたログ情報
%C出力カテゴリは、クラスの通常氏名、所属
%のTプロデュース出力ログイベントのスレッド名
出力%nは改行、Windowsプラットフォーム「\ rを\ n」は、UNIXプラットフォーム「\ n」は入力
時に日付や時刻%D出力ログポイントを、デフォルトのフォーマットはISO8601で、次のことができます例えば、次の形式で指定した:%d {YYY MMMはHH ddは :MM:SS、SSSを}、 のような出力: <XML :? PREFIXは= ST1 /名前空間> 2002 18日目、10日日付である 22である:10:28921
%カテゴリを含む出現位置L出力ログ・イベントは、スレッド、ならびにコードの行数でした。例:Testlog4.main(TestLog4.java:10)
。4、Log4jには、プログラムで使用される 、彼らのLog4jのルーチンに使用するパスを構築するためにコモンズ-logging.jarおよびロギングにlog4j-1.2.9.jarをインポートする最初の必要性を。そして、SRCのルートディレクトリにlog4j.propertiesファイル。あなたは、プログラムでのlog4jを使用できるように。、クラスのlog4jで使用最初の変数、静的宣言ロガーロガー= Logger.getLog(「クラス名を」 ); 今、あなたは使用することができ、かつ、次のように使用されます。logger.debug(「デバッグメッセージ」)またはlogger.info(「情報メッセージ」 )、次の例で小さなルック: インポートcom.foo.Bar; インポートorg.apache.log4j.Logger; インポートorg.apache.log4j.PropertyConfigurator; publicクラスのMyApp { 静的ロガーロガー= Logger.getLogger(MyApp.class.getName ()); 公共の静的な無効メイン(文字列[] args){ //にPropertyConfiguratorに置き換えBasicConfigurator。 PropertyConfigurator.configure(引数[0]); logger.info( "ファイルアプリケーションを起動。");
バーバー=新・バー();
bar.doIt();
logger.info( "アプリケーションを終了します。");
}
}
ます。https://www.cnblogs.com/licheng/archive/2008/08/23/1274568.htmlで再現