springboot logback.xml配置
***********************************
logback.xml配置说明
****************************
根节点configuration
属性:
scan:当配置文件修改时是否重新加载,默认为true;
scanPeriod:扫描间隔时间,如"60 seconds",不带单位时,默认为毫秒;
debug:是否输出logback的内部日志,默认为false
****************************
子节点
<property name=" " value=" "/>:设置属性值
<contextName>name</contextName>:设置上下文的名称
<timestamp key="" datePattern=""/>:设置时间戳的格式
****************************
子节点appender:设置日志输出目的地,可为控制台、文件、数据库等
属性:
name:appender的名称
class:appender使用的输出类
子节点
<append>true</append>:是否在文件后面追加,默认为true
<encoder>。。。</encoder>:输出格式
<prudent>false</prudent>:为true时,多个appender向同一个文件输出时可保证安全,但效率较低,默认为false
常用输出类:
******************************
ConsoleAppender:输出到控制台
public class ConsoleAppender<E> extends OutputStreamAppender<E> {
protected ConsoleTarget target; //systemout、systemerr,默认为systemout
protected boolean withJansi;
******************************
FileAppender:输出到文件,文件不可滚动
public class FileAppender<E> extends OutputStreamAppender<E> {
protected boolean append = true;
protected String fileName = null;
private boolean prudent = false;
private FileSize bufferSize = new FileSize(8192L);
******************************
RollingFileAppender:输出到滚动文件,文件输出常用这个类
public class RollingFileAppender<E> extends FileAppender<E> {
File currentlyActiveFile;
TriggeringPolicy<E> triggeringPolicy;
RollingPolicy rollingPolicy;
************************************************
滚动策略
**********************
TimeBasedRollingPolicy:时间滚动策略,常用此滚动策略
public class TimeBasedRollingPolicy<E> extends RollingPolicyBase implements TriggeringPolicy<E> {
private int maxHistory = 0;
protected FileSize totalSizeCap = new FileSize(0L);
TimeBasedFileNamingAndTriggeringPolicy<E> timeBasedFileNamingAndTriggeringPolicy;
boolean cleanHistoryOnStart = false;
**********************
SizeAndTimeBasedRollingPolicy:文件大小、时间滚动策略
public class SizeAndTimeBasedRollingPolicy<E> extends TimeBasedRollingPolicy<E> {
FileSize maxFileSize;
**********************
FixedWindowRollingPolicy:固定窗口滚动策略
public class FixedWindowRollingPolicy extends RollingPolicyBase {
int maxIndex = 7;
int minIndex = 1;
public static final String ZIP_ENTRY_DATE_PATTERN = "yyyy-MM-dd_HHmm";
private static int MAX_WINDOW_SIZE = 20;
**************************************
触发滚动策略
SizeBasedTriggeringPolicy:文件大小触发滚动策略
public class SizeBasedTriggeringPolicy<E> extends TriggeringPolicyBase<E> {
FileSize maxFileSize = new FileSize(10485760L);
文件滚动策略使用TimeBasedRollingPolicy或者FixedWindowRollingPolicy+SizeBasedTriggeringPolicy
文件类使用FileAppender

文件输出类使用RollingFileAppender
滚动策略TimeBasedRollingPolicy

滚动策略SizeAndTimeBasedRollingPolicy

使用size限制文件大小,文件命名时需带%i
滚动策略FixedWindowRollingPolicy+触发滚动策略SizedBasedTriggeringPolicy

使用size限制文件大小时,文件命名需带%i
*************************
子节点logger
属性:
name:指定包名、或者类的全限定名
level:日志输出级别,如果不设置,默认与root的日志级别相同
additivity:是否输出到root节点,默认为true
子节点:
<appender-ref ref=" "/>:ref引用的内容为appender的name
*************************
子节点root
root为特殊的logger,只用一个属性level
子节点:
<append-ref ref=" "/>:ref引用的内容为appender的name
*******************************************
logback.xml配置示例
来源:CSDN
作者:o_瓜田李下_o
链接:https://blog.csdn.net/weixin_43931625/article/details/103647076