今日も昨日と同様の環境だが、念のためのせておこう。
Java 1.6系
log4j log4j-1.2.17.jar
クラスパスにlog4j-1.2.17.jarを指定する。
ダウンロードは、こちら
昨日は、コンソールとファイルに出力されるように設定ファイルを
作成していた。
まずは、何をどうすれば、ファイルに出力されるのか書くことにする。
注目するのは、4行目から9行目の内容
<appender ~>~</appender>
この内容がファイルに出力する内容を設定している。
<appender name="File" class="org.apache.log4j.FileAppender">
nameには、appenderの名前を指定する。
classには、org.apache.log4j.FileAppenderを指定する。
このクラスがファイルに出力するためのクラスとなる。
<param name="File" value="C:/log4j.log" />
paramタグは、appenderに渡すパラメータを指定する。
nameにFileを指定し、vlaueに出力するファイルのパスを指定する。
この内容が出力先のファイル名になる。
ファイルが存在していない場合は、自動で作成する。
それ以外のパラメータは、Append、BufferedIO、BufferSize、
Threshold、ImmediateFlush、Encoding
Appendについては、追記モードを指定する。
指定する値は、boolean(true/false)を設定する。
初期値(指定しない場合)は、falseになっていて追記されない。
毎回ファイルを上書きするので注意が必要。
例
<param name="Append" value="true" />
BufferedIOについては、バッファリングを指定する。
指定する値は、boolean(true/false)を設定する。
初期値(指定しない場合)は、falseになっていてバッファリングされない。
BufferSizeについては、バッファサイズを指定する。
バッファリングをする場合のバッファサイズになる。
Thresholdについては、appenderごとに出力するログのレベルを指定する。
指定する値は、DEBUG/INFO/WARN/ERROR/FATALを指定できる。
ImmediateFlushについては、バッファの内容を即時出力するかを指定する。
指定する値は、boolean(true/false)を設定する。
初期値(指定しない場合)は、trueになっていてバ即時に出力する。
Encodingについては、出力するファイルの文字コードを指定する。
初期値(指定しない場合)は、OSの文字コードで出力される。
これで、appendarの設定は、完了。
このappendarを使用するかを指定するのが、
<root>~</root>
になる。
appender-refタグで、上記で設定したappendarのnameを指定する。
<appender-ref ref="File" />
ちなみに、<level value="debug" />で、ログの出力レベルを設定できる。
以上で、ファイルに出力する設定が完了。
結構長くなってしまったので、
<layout ~>~</layout>
については、また明日にでも書きます。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="File" class="org.apache.log4j.FileAppender"> <param name="File" value="C:/log4j.log" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p %c - %-5m [%t] (%F:%L)%n"/> </layout> </appender> <appender name="Console" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p %c - %-5m [%t] (%F:%L)%n"/> </layout> </appender> <root> <level value="debug" /> <appender-ref ref="Console" /> <appender-ref ref="File" /> </root> </log4j:configuration>
0 件のコメント:
コメントを投稿