やりたいこと
単にコンソールで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)を実施