LoginSignup
74
73

More than 5 years have passed since last update.

Logbackでファイルにログを吐く時の基本設定

Last updated at Posted at 2014-10-01

オレオレ設定だけど、いつも調べて忘れるのでまとめておく。


<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%date{yyyy-MM-dd HH:mm:ss} [%thread] %level %logger{0} - %msg \(%file:%line\)%n</pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>INFO</level>
    </filter>
</appender>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/app.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>logs/app.%d{yyyy-MM-dd}.log.tar.gz</fileNamePattern>
        <maxHistory>7</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>%d{yyyy-MM-dd'T'HH:mm:ss'Z'} - %m%n</pattern>
    </encoder>
</appender>

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

<logger name="FILE" additivity="false">
    <level value="INFO" />
    <appender-ref ref="FILE" />
</logger>

要素について

  • appendar
    appendarの指定.

  • file
    ファイルの保存先の指定.

  • rollingPolicy
    RollingFileAppendarの時指定する. TimeBasedRollingPolicyはその名の通り時間指定でrollingする。どのタイミングかはその後のfileNamePatternで指定できる.

  • fileNamePattern
    %dオプションで指定した粒度でrollingする. 拡張子に.zipや.tar.gzを指定するとrollingの際に同時に圧縮処理も行われる.

  • maxHistory
    ファイルを保存する最大数。これを越えたファイルはrolling時に削除される.

  • encoder.pattern
    1行の出力内容を指定する.

  • filter
    ログメッセージの出力条件をフィルタする設定.

PatternLayoutについて

  • %d %date
    日付のフォーマット.%d{ISO8601}のようにも書ける. {pattern, timezone}のように第二引数をとることが出来る. {yyyy-MM-dd HH:flag_mm:ss.SSS'Z',UTC}のように指定する.

  • %m %msg %message
    ログメッセージ.

  • %n
    改行コード

  • %t %thread
    ログ出力スレッドの名前

  • %p %le %level
    ログレベル

  • %c %lo %logger
    カテゴリ名. {}の中の数字で, パッケージの階層表示の出力を指定する. %c{1}だとcom.example.loggingの「logging」だけの出力になる.

  • %F %file
    ログを生成したソースファイル名

  • %L %line
    ログを生成したソースの行番号

74
73
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
74
73