LoginSignup
2
6

More than 5 years have passed since last update.

logbackで出力するログファイルに日付(e.g. yyyy-MM-dd)を入れる

Last updated at Posted at 2018-03-11

logbackを使用してログをファイルに出力する際に・・・アクティブなログファイルにも日付入れられないかな〜と思って調べたら、普通にできることがわかりました!

どうすればよいのか?

RollingFileAppenderfileプロパティを省略し、TimeBasedRollingPolicyfileNamePatternプロパティにローテーションしたい単位の日付形式を含めるだけです。

<appender name="APPLICATION_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!--<file>${app.log.dir:-log}/application.log</file>--> <!-- これを省略!! -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${app.log.dir:-log}/application-%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>7</maxHistory>
    </rollingPolicy>
    <encoder>
        <charset>UTF-8</charset>
        <pattern><![CDATA[date:%d{yyyy-MM-dd HH:mm:ss}\tthread:%thread\tX-Track:%X{X-Track}\tlevel:%-5level\tlogger:%-48logger{48}\tmessage:%msg%n]]></pattern>
    </encoder>
</appender>

これって正式な方法なの?

TimeBasedRollingPolicyのfileNamePatternプロパティ」の説明欄にばっちり記載してありました!

まとめ

まとめることは何もありませんが・・・
ドキュメントみるの面倒なんですが・・・ちゃんと書いてあると安心して使えますね!! 特に・・・OSSとして多くの人に使ってもらうためには、ドキュメンテーション大事だよな〜。logbackは日本語訳があるのもGoodです!!(翻訳者に感謝)

2
6
0

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
2
6