【Java】logback.xml でINFOログの圧縮
概要
JavaのシステムログとしてINFOレベルのログも大量に出力する際、最大バイト数で区切りログファイルを圧縮し保存する。
修正前
logback.xml
...
<appender name="SYSTEMLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/maker/system.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>./logs/maker/system.log.%d{yyyy-MM-dd}.gz</FileNamePattern>
<!-- keep 7 days' worth of history -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<!-- <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</Pattern> -->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5le %marker %lo{36} [%file:%line] - %msg %n</Pattern>
</encoder>
</appender>
...
修正後
logback.xml
....
<appender name="SYSTEMLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/receiver/system.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>./logs/receiver/system.log.%d{yyyy-MM-dd}.%i.gz</FileNamePattern>
<!-- keep 7 days' worth of history -->
<maxHistory>7</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 1000MB -->
<maxFileSize>1000MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<!-- <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</Pattern> -->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5le %marker %lo{36} [%file:%line] - %msg %n</Pattern>
</encoder>
</appender>
....
修正点(差分)
- ファイル名に %i を追加。
- 以下のコードを追加する。
logback.xml
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>1MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
$ du -sh ./*
540K ./system.log
548K ./system.log.2021-03-26.gz
544K ./system.log.2021-03-27.gz
544K ./system.log.2021-03-28.gz
548K ./system.log.2021-03-29.gz
552K ./system.log.2021-03-30.gz
552K ./system.log.2021-03-31.gz
548K ./system.log.2021-04-01.gz
296K ./system.log.2021-04-02.0.gz
参考:
Author And Source
この問題について(【Java】logback.xml でINFOログの圧縮), 我々は、より多くの情報をここで見つけました https://qiita.com/kotaaaa/items/84cd2f6e320d6221d67c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .