Edited at

[Java] logback slf4j サンプル


やりたいこと

単にコンソールでslf4jを簡単に試したいだけ

なのに、調べる情報はどれもつらつらと長ったらしいものばかりです。

では始めます。


(1) logbackを入手

http://logback.qos.ch/download.html

logback-1.2.3.tar.gzを取得。


  • slf4j-api-1.7.25.jar

  • logback-classic-1.2.3.jar

  • logback-core-1.2.3.jar

を探し出して、./lib/を作って、そこに格納


(2) Test.javaを作成


Test.java

   import org.slf4j.LoggerFactory;

import org.slf4j.Logger;
public class Test {
public static void main(String[] args){
Logger logger = LoggerFactory.getLogger("Test");
logger.info("info: {}", "情報");
logger.warn("warn: {}", "警告");
logger.error("error: {}", "エラー");
}
}

この時点でのカレントディレクトリの構成

$ tree

.
|-- Test.java
`-- lib
|-- logback-classic-1.2.3.jar
|-- logback-core-1.2.3.jar
`-- slf4j-api-1.7.25.jar


(3) ビルド

$ javac -cp .:./lib/logback-core-1.2.3.jar:./lib/logback-classic-1.2.3.jar:./lib/slf4j-api-1.7.25.jar Test.java


(4) 実行

$ java -cp .:./lib/logback-core-1.2.3.jar:./lib/logback-classic-1.2.3.jar:./lib/slf4j-api-1.7.25.jar Test

14:46:17.371 [main] INFO Test - info: 情報
14:46:17.375 [main] WARN Test - warn: 警告
14:46:17.376 [main] ERROR Test - error: エラー


ファイルに出力

logback.xmlを用意します。

$ tree

.
|-- Test.java
|-- lib
| |-- logback-classic-1.2.3.jar
| |-- logback-core-1.2.3.jar
| `-- slf4j-api-1.7.25.jar
`-- logback.xml ★これ

logback.xmlの中身。とりあえずこれで出ます。

<configuration>

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>test.log</file>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>

<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>

手順(3)(4)を実施