Apache汎用ログツールであるcommons-loggingとLog4jの使い方
Apache Commons Loggingは異なるログフレームワーク(Log4j、Logback、java.util.loggingなど)で使用可能な汎用的なロギングツールです。以下は、commons-loggingとLog4jを使用する場合の手順です
- Mavenなどのビルドツールを使用して、commons-loggingとLog4jの依存関係をプロジェクトに追加できます。
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
- Log4jを設定するために、src/main/resources ディレクトリに log4j.properties ファイルを作成して、次のように記述します。
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
この設定ファイルは、ログをコンソールに出力します。
- コード内にCommons-Loggingを利用してログを出力する。Loggerオブジェクトを取得するには以下の方法がある。
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class MyClass {
private static final Log logger = LogFactory.getLog(MyClass.class);
public void doSomething() {
logger.debug("Debug message");
logger.info("Info message");
logger.warn("Warn message");
logger.error("Error message");
}
}
- 実行するとログの出力がコンソールに出力されます。
他のログフレームワークを利用したい場合はクラスパスに依存ライブラリを追加し、設定を行ってください。