log 4 j出力フォーマット詳細設定
2623 ワード
一)log 4 jのフォーマットを分析するこのセグメントは以下の通りである.
生成された具体的な情報は、次のようになります.
%cは属するクラスのフルネームを出力し、%c{Num}と書くことができ、Numクラス名の出力範囲は「com.sun.aaa.classB」のように、%C{2}はログ出力範囲をaaa.にする.classB%d出力ログ時間:%d{HH:mm:ss}などの%l出力ログイベントの発生場所を指定できるフォーマットで、クラス名、発生スレッドを含み、コード内の行数%n改行記号%m出力コード指定情報、例えばinfo(「message」)を出力し、message%p出力ログの優先度、すなわちFATALを出力し、ERROR等%r出力ログ情報の起動から表示までの時間(ミリ秒数)%t出力ログイベントを生成するスレッド名
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%dは日付を表します
%pはレベル、info、debugを表します.
%cはクラス名を表します
%tはスレッドを表し、Main関数である可能性があります.
%mは出力された情報を表し、%nは改行を表す
二)または以下の説明を参照してください.
log4j.appender.A1.layout.ConversionPattern=%-4 r%-5 p%d{yyyy-MM-dd HH:mm:ssS}%c%m%nここで説明するのはログ情報フォーマットのいくつかの記号が表す意味です:-X番号:X情報出力時に左揃え;%p:出力ログ情報優先度、すなわちDEBUG,INFO,WARN,ERROR,FATAL,%d:出力ログ時点の日時、デフォルトフォーマットはISO 8601であり、その後にフォーマットを指定することもできる:%d{yyy MMM dd HH:mm:ss,SSS}出力類似:2002年10月18日22:10:28921%r:このlog情報の出力にアプリケーションが起動してから消費されたミリ秒数%c:出力ログ情報が属するクラスを出力し、通常、クラスのフルネーム%t:出力ログイベントを生成するスレッド名%l:出力ログイベントの発生位置であり、クラス名、発生スレッド、およびコード内の行数を含む%C.%M(%F:%L)の組合せに相当する.例:Testlog 4.main(TestLog 4.java:10)%x:現在のスレッドに関連付けられたNDC(ネスト診断環境)を出力し、特にjava servletsのようなマルチクライアントマルチスレッドのアプリケーションに用いられる.%%%:「%」文字を出力%F:出力ログメッセージ生成時に存在するファイル名%L:出力コードの行番号%m:出力コードで指定されたメッセージを出力し、生成されたログ詳細情報%n:リターン改行を出力し、Windowsプラットフォームは「r」、Unixプラットフォームは「」出力ログ情報改行は%とモード文字の間に修飾子を付けて、その最小幅、最大幅、およびテキストの位置合わせを制御します.例:1)%20 c:出力categoryの名前を指定します.最小幅は20です.categoryの名前が20未満の場合、デフォルトでは右揃えになります.2)%-20 c:出力categoryの名前を指定し、最小幅は20であり、categoryの名前が20未満の場合、"-"号は左揃えを指定する.3)%.30 c:出力categoryの名前を指定します.最大幅は30です.categoryの名前が30より大きいと、左から多く出た文字が切り捨てられますが、30より小さいとスペースもありません.4)%20.30 c:categoryの名前が20未満の場合はスペースを埋め、右揃えにします.名前が30文字より長い場合は、左から遠出した文字を切り取ります.
<appender name="DebugAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/test.log"/>
<param name="MaxBackupIndex" value="250"/>
<param name="MaxFileSize" value="20MB"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601}|%-5p|%c|%t|%m%n"/>
</layout>
</appender>
生成された具体的な情報は、次のようになります.
2012-02-10 17:34:52,753|INFO |test.TestLog4j|main|gogogo
%cは属するクラスのフルネームを出力し、%c{Num}と書くことができ、Numクラス名の出力範囲は「com.sun.aaa.classB」のように、%C{2}はログ出力範囲をaaa.にする.classB%d出力ログ時間:%d{HH:mm:ss}などの%l出力ログイベントの発生場所を指定できるフォーマットで、クラス名、発生スレッドを含み、コード内の行数%n改行記号%m出力コード指定情報、例えばinfo(「message」)を出力し、message%p出力ログの優先度、すなわちFATALを出力し、ERROR等%r出力ログ情報の起動から表示までの時間(ミリ秒数)%t出力ログイベントを生成するスレッド名
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%dは日付を表します
%pはレベル、info、debugを表します.
%cはクラス名を表します
%tはスレッドを表し、Main関数である可能性があります.
%mは出力された情報を表し、%nは改行を表す
二)または以下の説明を参照してください.
log4j.appender.A1.layout.ConversionPattern=%-4 r%-5 p%d{yyyy-MM-dd HH:mm:ssS}%c%m%nここで説明するのはログ情報フォーマットのいくつかの記号が表す意味です:-X番号:X情報出力時に左揃え;%p:出力ログ情報優先度、すなわちDEBUG,INFO,WARN,ERROR,FATAL,%d:出力ログ時点の日時、デフォルトフォーマットはISO 8601であり、その後にフォーマットを指定することもできる:%d{yyy MMM dd HH:mm:ss,SSS}出力類似:2002年10月18日22:10:28921%r:このlog情報の出力にアプリケーションが起動してから消費されたミリ秒数%c:出力ログ情報が属するクラスを出力し、通常、クラスのフルネーム%t:出力ログイベントを生成するスレッド名%l:出力ログイベントの発生位置であり、クラス名、発生スレッド、およびコード内の行数を含む%C.%M(%F:%L)の組合せに相当する.例:Testlog 4.main(TestLog 4.java:10)%x:現在のスレッドに関連付けられたNDC(ネスト診断環境)を出力し、特にjava servletsのようなマルチクライアントマルチスレッドのアプリケーションに用いられる.%%%:「%」文字を出力%F:出力ログメッセージ生成時に存在するファイル名%L:出力コードの行番号%m:出力コードで指定されたメッセージを出力し、生成されたログ詳細情報%n:リターン改行を出力し、Windowsプラットフォームは「r」、Unixプラットフォームは「」出力ログ情報改行は%とモード文字の間に修飾子を付けて、その最小幅、最大幅、およびテキストの位置合わせを制御します.例:1)%20 c:出力categoryの名前を指定します.最小幅は20です.categoryの名前が20未満の場合、デフォルトでは右揃えになります.2)%-20 c:出力categoryの名前を指定し、最小幅は20であり、categoryの名前が20未満の場合、"-"号は左揃えを指定する.3)%.30 c:出力categoryの名前を指定します.最大幅は30です.categoryの名前が30より大きいと、左から多く出た文字が切り捨てられますが、30より小さいとスペースもありません.4)%20.30 c:categoryの名前が20未満の場合はスペースを埋め、右揃えにします.名前が30文字より長い場合は、左から遠出した文字を切り取ります.