logback log combat

<? xml version = " 1.0 " encoding = " UTF-8 " ?> 
<! - 
    <configuration> 
        <appender> </ appender>     // Hay 1 o más, la función especifica el destino de salida del registro 
        <root> </ root>             // Hay a lo sumo uno, root logger 
        <logger> <logger>         // Hay 1 o más, logger ordinario 
    </ configuration> 
 -> 
<configuration> 

    <! - Obtenga el nombre del proyecto del archivo spring local- -> 
    <springProperty scope = " context " name = " PROJECT_NAME "source = " spring.application.name "/> 

    <! - Imprimir formato de registro almacenado en el archivo-> 
    <nombre de propiedad = " FILE_PATTEN " 
              valor = " [% nivel] [% fecha {ISO8601}] [% logger] [% thread] [% X { clientIp}] [% X {requestId}] [% X {serverIp}] [% X {X-B3-TraceId}]% msg% n " /> 
    <! - impreso en el formato de salida del archivo de consola- > 
    < nombre de propiedad = " CONSOLE_PATTEN " 
              valor = " [% resaltado (% -5 nivel)] [% fecha {ISO8601}] [% boldGreen (% logger)] [% boldYellow (% thread)] [% X {clientIp}] [% cian (% X {requestId})] [% X {serverIp}]% msg% n " /> 


    <! - El registro se imprime en la consola- > 
    <nombre del appender = " consola " class = " ch.qos.logback.core.ConsoleAppender " > 
        <encoder> 
            <pattern> $ {CONSOLE_PATTEN} </ pattern> 
        </ encoder> 
    </ appender> 



    <! - Según la cantidad de archivos y el tamaño del archivo de registro La estrategia de reciclaje mantiene un máximo de 20 por día por un máximo de 100 billones cada uno, y un máximo de un día-> 
    <appender name = " file "  class = " ch.qos.logback.core.rolling.RollingFileAppender " > 
        <file> $ {user.home } / logs / $ {PROJECT_NAME} / $ {PROJECT_NAME} .log </ file> 
        <append> true </ append> 
        <! - Especifica el nivel de salida del registro en un registro diferente-> 
        <clase de filtro = "ch.qos.logback.classic.filter.LevelFilter " > 
            <level> INFO </ level> 
            <onMatch> ACCEPT </ onMatch> 
            <onMismatch> DENY </ onMismatch> 
        </ filter> 
        <! - El archivo supera los 100 billones, Cree un nuevo archivo de registro, hasta 20 archivos de registro, limpie una vez al 
        día- > <rollingPolicy class = " ch.qos.logback.core.rolling.FixedWindowRollingPolicy " > 
            <! - Establezca el zip al final del archivo para la compresión-> 
            < fileNamePattern> $ {user.home} / logs / $ {PROJECT_NAME} / $ {PROJECT_NAME}.% i.log </ fileNamePattern> 
            <minIndex> 1 </ minIndex> 
            <maxIndex>20 </maxIndex> 
        </rollingPolicy>
        <triggeringPolicy class = " ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy " > 
            <! - 日志 归档 大小 -> 
            <maxFileSize> 1kB </maxFileSize> 
        </triggeringPolicy> 
        <encoder> 
            <pattern> $ {FILE_PATTEN} </pattern> 
            <charset> UTF- 8 </charset> 
        </encoder> 
    </appender> 


    <! - 按照 日志 级别 打印 -> 
    <nombre del adjunto = " error_file "  class = " ch.qos.logback.core .rolling.RollingFileAppender ">
        <file> $ {user.home} / logs / $ {PROJECT_NAME} / error / $ {PROJECT_NAME} .log </ file> 
        <append> true </ append> 
        <! - Especifica el nivel de salida del registro en diferentes registros Los filtros personalizados generan varios tipos de registros como sql-> 
        <filter class = " ch.qos.logback.classic.filter.LevelFilter " > 
            <level> ERROR </ level> 
            <onMatch> ACCEPT </ onMatch> 
            < onMismatch> DENY </ onMismatch> 
        </ filter> 
        <rollingPolicy class = " ch.qos.logback.core.rolling.FixedWindowRollingPolicy " >
            <fileNamePattern> $ {user.home} / logs / $ {PROJECT_NAME} / $ {PROJECT_NAME} _error.% i.log </fileNamePattern> 
            <minIndex> 1 </minIndex> 
            <maxIndex> 20 </maxIndex> 
        </ rollingPolicy > 
        <triggeringPolicy class = " ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy " > 
            <maxFileSize> 1KB </maxFileSize> 
        </triggeringPolicy> 
        <encoder> 
            <pattern> $ {FILE_PATTEN} </pattern> 
            <charset> UTF- 8 </charset> 
        </encoder>
    </appender>


    <! - El registro se comprime diariamente y se actualiza automáticamente de acuerdo con los días de retención establecidos-> 
    <appender name = " info_file "  class = " ch.qos.logback.core.rolling.RollingFileAppender " > 
        <file> $ {user.home } / logs / $ {PROJECT_NAME} / info / $ {PROJECT_NAME} .log </ file> 
        <append> true </ append> 
        <! - Especifique el nivel de salida del registro para diferentes registros, puede personalizar el filtro para generar una variedad de diferentes Escriba log como sql-> 
        <filter class = " ch.qos.logback.classic.filter.LevelFilter " > 
            <level> INFO </ level> 
            <onMatch> ACCEPT </ onMatch> 
            <onMismatch>NEGAR </onMismatch> 
        </filter>
        <rollingPolicy 
                <maxFileSize>100MB </maxFileSize>class = " ch.qos.logback.core.rolling.TimeBasedRollingPolicy " > 
            <! - Genera el número de% cognitivo i representantes-> 
            <! - <fileNamePattern> $ {user.home} / logs / $ {PROJECT_NAME} / info / $ {PROJECT_NAME} -% d {aaaa-MM-dd}.% I.log-> 
            <fileNamePattern> $ {user.home} / logs / $ {PROJECT_NAME} / info / $ { PROJECT_NAME} -% d {aaaa-MM-dd}.% I.log.zip
             </ fileNamePattern> 
            <! - ¿Qué tan grande es el registro para archivar-> 
            <timeBasedFileNamingAndTriggeringPolicy class = " ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP " >
            <! - Número de días para guardar->
            </ timeBasedFileNamingAndTriggeringPolicy> 
            <MaxHistory> 2 </ MaxHistory> 
        </ rollingPolicy> 
        <encoder> 
            <pattern> $ {FILE_PATTEN} </ pattern> 
            <charset> UTF- 8 </ charset> 
        </ encoder> 
    </ appender> 



   <! 
    - Especifique el registro de entorno para imprimir Establezca el nivel de registro de impresión en la consola y el archivo-> <springProfile name = " test " > 
        <root level = " DEBUG " > 
            <appender- ref  ref = " console "/> 
            <appender- ref ref = " archivo "/> 
            <appender- ref  ref = " error_file " > </ appender- ref > 
            <appender- ref  ref = " info_file " > </ appender- ref > 
        </root> 
    </springProfile> 





</configuration>

 

Supongo que te gusta

Origin www.cnblogs.com/love-htt/p/12692467.html
Recomendado
Clasificación