logbackの最近のブログ記事

logback

| コメント(0) | トラックバック(0)
仕事でlogbackを使用することになりました。

log4jではなくlogbackは初めてだったのでメモをとっておきます。


今回使用したlogbackのバージョンはこれ
・slf4j-api-1.6.1.jar
・logback-core-0.9.28.jar
・logback-classic-0.9.28.jar

1.mavenでプロジェクトを作成
コマンドプロンプトを立ち上げ、ロジェクトを作成したい場所に移動
下のコマンドを実行(SampleLogbackは好きなプロジェクト名にする)
mvn archetype:create -DgroupId=com.example -DartifactId=SampleLogback

2.各jarを取得する、作成したプロジェクトのpom.xmlに以下を追加

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.1</version>
</dependency>

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>0.9.28</version>
</dependency>

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>0.9.28/version>
</dependency>

コマンドプロンプトにて
mvn
を実行する

mavenがわからないなら、以下から取得してくる

2.各jarをパスに追加

3.logback.xmlをsrc/main/resouceにおく必要があるため、src/main/resouceをビルドパスのソースに追加する

4.src/main/resouce/logback.xmlを作成する
<!DOCTYPE logback>
<configuration>
    <include resource="appenders.xml"/>

    <logger name="com.example" level="DEBUG">
        <appender-ref ref="LOG" />
        <appender-ref ref="ERROR_LOG"/>
    </logger>

    <root>
        <level value="INFO" />
        <appender-ref ref="STDOUT1" />
    </root>
</configuration>

appenderは別ファイルとして管理したいので別途、src/main/resouce/appenders.xmlを作成する
<included>
    <appender name="STDOUT1" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy/MM/dd HH:mm:ss.SSS},%-5level,%logger#%M,[%L], %msg%n</Pattern>
        </layout>
    </appender>

    <appender name="LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>c:/log/api.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>c:/log/api.log.%d{yyyyMMdd}</FileNamePattern>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy/MM/dd HH:mm:ss.SSS}, %-5level, %logger#%M, [%L], %msg%n</Pattern>
        </layout>
    </appender>

    <!-- ERRORレベルのみ出力する -->
    <appender name="ERROR_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>c:/log/error.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>c:/log/error.log.%d{yyyyMMdd}</FileNamePattern>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy/MM/dd HH:mm:ss.SSS}, %-5level, %logger#%M, [%L], %msg%n</Pattern>
        </layout>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>
</included>

5.com..example.App.javaが作成されているのでこちらにログを設定してみる

public static void main(String[] args) {
    logger bb = LoggerFactory.getLogger(App.class);
    bb.debug("{}x", new Object[]{"test-> "});
    bb.info("y");
    bb.error("z");
}

6.アプリを起動すればこんな感じで出力されました。
2011/12/07 13:38:33.952,DEBUG,com.example.App#main,[16], test-> x
2011/12/07 13:38:33.955,INFO ,com.example.App#main,[17], y
2011/12/07 13:38:33.956,ERROR,com.example.App#main,[18], z

参考サイト


このアーカイブについて

このページには、過去に書かれたブログ記事のうちlogbackカテゴリに属しているものが含まれています。

前のカテゴリはiアプリです。

次のカテゴリはmavenです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.27-ja