[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
■Sample2.java
================================================
package jp.co.sample;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
public class Sample2 {
private static Logger logger = Logger.getLogger(Sample2.class);
private static String LOG4J_DEFAULT_FILE = "log4j.xml";
public static void main(String[] args) {
// 設定ファイル読み込み
DOMConfigurator.configure(ClassLoader.getSystemResource(LOG4J_DEFAULT_FILE));
if (logger.isInfoEnabled()){
logger.info("INFO");
}
if (logger.isDebugEnabled()){
logger.debug("DEBUG");
}
}
}
================================================
■log4j.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!-- debugにtrueにするとログファイル定義を読み込み時に設定の詳細が表示される -->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<!-- ログレベルについて -->
<!-- ALL < TRACE < DEBUG < INFO <WARN < ERROR < FATAL < OFF -->
<!-- 動作を「非同期」にする -->
<appender name="ASYNC_LOG" class="org.apache.log4j.AsyncAppender">
<param name="Threshold" value="debug" />
<param name="BufferSize" value="128" />
<!-- 非同期にしたい Appenderを指定する-->
<appender-ref ref="FILE" />
</appender>
<!-- ログをファイルに出力する為のAppender -->
<!-- ※ログローテーションは行わない -->
<appender name="FILE" class="org.apache.log4j.FileAppender">
<!-- 『File』ファイル出力する為のAppender -->
<param name="File" value="log.txt" />
<!-- 『Append』追加モードか否かを指定 -->
<!-- true:追加モード false:新規 -->
<!-- 指定しない場合はtrue:追加モードみたい -->
<param name="Append" value="true" />
<!-- 『BufferedIO』バッファリングをするか否かを指定 -->
<!-- true:バッファリングする false:バッファリングしない -->
<!-- 指定しない場合はfalse:バッファリングしないらしい・・・ 未確認 -->
<param name="BufferedIO" value="true" />
<!-- 『BufferSize』バッファサイズを指定する -->
<!-- FileAppenderクラスの初期値として"8192"が指定されている -->
<param name="BufferSize" value="8192" />
<!-- 『Threshold』レベルを指定(appendの共通オプション) -->
<!-- レベルを指定し、そのレベル以下だと出力しないようにする -->
<param name="Threshold" value="debug" />
<!-- レイアウトを指定する【必須項目】 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss:SSS} %p:%r:%c:%m%n" />
</layout>
</appender>
<!-- コンソールにログを出力するためのAppender -->
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="debug" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss:SSS} %p:%r:%c:%m%n" />
</layout>
</appender>
<!-- ログ出力対象を指定する -->
<logger name="jp.co.sample">
<level value="info" />
<appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" />
</logger>
<!-- root 要素は使用しない -->
<root>
<level value="OFF" />
<!-- <appender-ref ref="CONSOLE" /> -->
</root>
</log4j:configuration>
===============================================
%n 改行