logback日志输出并限制日志保存最大天数等

时间:2025-04-10 18:31:24
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 自定义日志输出路径--> <property name="PATH" value="/log/mylog" /> <!--自定义日志存留天数--> <property name="LOG_MAX_HISTORY" value="5"/> <!--自定义单个日志文件的大小,超过将生成新文件--> <property name="LOG_MAX_FILE_SIZE" value="20MB"/> <!--自定义日志总大小,超过将删除最旧存档--> <property name="LOG_TOTAL_SIZE_CAP" value="10GB"/> <appender name="STDOUT" class=""> <encoder> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %msg%n</Pattern> </encoder> </appender> <appender name="TRACE_FILE" class=""> <file>${PATH}/trace.log</file> <rollingPolicy class=""> <FileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</FileNamePattern> <!--保存多少天的日志--> <maxHistory>${LOG_MAX_HISTORY}</maxHistory> <!--自定义日志总大小--> <totalSizeCap>${LOG_TOTAL_SIZE_CAP}</totalSizeCap> <!--单个文件大小上限--> <maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize> <!--在只有设置为true并且 maxHistory 不为零才能起效。--> <cleanHistoryOnStart>true</cleanHistoryOnStart> </rollingPolicy> <!--输出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-8X{UUID}) %msg%n</pattern> <charset>utf8</charset> </encoder> </appender> <appender name="ERROR_FILE" class=""> <file>${PATH}/error.log</file> <rollingPolicy class=""> <FileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern> <!--单个文件大小上限--> <maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize> <!--保存多少天的日志--> <maxHistory>${LOG_MAX_HISTORY}</maxHistory> <!--自定义日志总大小--> <totalSizeCap>${LOG_TOTAL_SIZE_CAP}</totalSizeCap> <!--在只有设置为true并且 maxHistory 不为零才能起效。--> <cleanHistoryOnStart>true</cleanHistoryOnStart> </rollingPolicy> <!--输出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-8X{UUID}) %msg%n</pattern> <charset>utf8</charset> </encoder> <filter class=""> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <root level="ERROR"> <appender-ref ref="ERROR_FILE" /> </root> <root level="TRACE"> <appender-ref ref="TRACE_FILE" /> </root> <root level="INFO"> <appender-ref ref="STDOUT" /> </root> </configuration>