springboot logback.xml配置

佐手、 提交于 2019-12-21 23:29:53

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配置示例

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!