logbackを使用してログをファイルに出力する際に・・・アクティブなログファイルにも日付入れられないかな〜と思って調べたら、普通にできることがわかりました!
どうすればよいのか?
RollingFileAppender
のfile
プロパティを省略し、TimeBasedRollingPolicy
のfileNamePattern
プロパティにローテーションしたい単位の日付形式を含めるだけです。
<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です!!(翻訳者に感謝)