java - spring-boot logback配置
本文介绍了java - spring-boot logback配置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
<appender name="dailyRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>/opt/logs/statistics/statistics.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<FileNamePattern>statistics.%d{yyyy-MM-dd}.log</FileNamePattern>
<!-- keep 30 days' worth of history -->
<!--<maxHistory>30</maxHistory>-->
</rollingPolicy>
<encoder>
<!--
%d{HH:mm:ss.SSS}——日志输出时间
%thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用
%-5level——日志级别,并且使用5个字符靠左对齐
%logger{36}——日志输出者的名字
%msg——日志消息
%n——平台的换行符
-->
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
</encoder>
<!--<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">-->
<!--<maxFileSize>10MB</maxFileSize>-->
<!--</triggeringPolicy>-->
</appender>
如果不指定maxHistory,那么日志文件是否永久保存?
如果不指定maxFileSize,日志文件的大小是不受限制吗?
解决方案
有个默认值的:
TimeBasedRollingPolicy源码,默认maxHistory为0
public class TimeBasedRollingPolicy<E> extends RollingPolicyBase implements TriggeringPolicy<E> {
static final String FNP_NOT_SET = "The FileNamePattern option must be set before using TimeBasedRollingPolicy. ";
FileNamePattern fileNamePatternWCS;
private Compressor compressor;
private RenameUtil renameUtil = new RenameUtil();
Future<?> compressionFuture;
Future<?> cleanUpFuture;
private int maxHistory = 0;
private FileSize totalSizeCap = new FileSize(0L);
private ArchiveRemover archiveRemover;
TimeBasedFileNamingAndTriggeringPolicy<E> timeBasedFileNamingAndTriggeringPolicy;
boolean cleanHistoryOnStart = false;
maxFileSize默认值为10485760L Bytes
public class SizeBasedTriggeringPolicy<E> extends TriggeringPolicyBase<E> {
public static final String SEE_SIZE_FORMAT = "http://logback.qos.ch/codes.html#sbtp_size_format";
public static final long DEFAULT_MAX_FILE_SIZE = 10485760L;
String maxFileSizeAsString = Long.toString(10485760L);
FileSize maxFileSize;
InvocationGate invocationGate = new DefaultInvocationGate();
这篇关于java - spring-boot logback配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文