<? xml version = "1.0" encoding = "UTF-8"?> <configuration debug = "false"> <! - 定义 日志 文件 的 存储 地址 勿 在 LogBack 的 配置 中 使用 相对 路径 -> <nombre de propiedad = "logPath" value = "E: / data / logs" /> <! - <property name = "logPath" value = "/ data / logs" /> -> <property name = "appName" value = " joe-zookeeper "/> <property name =" maxHistory "value =" 30 "/> <property name =" maxFileSize "value =" 10MB "/> <! - 控制台 输出 -> <appender name =" STDOUT "class =" ch.qos.logback.core.ConsoleAppender "> <encoder class =" ch.qos.logback.classic.encoder.PatternLayoutEncoder "> <! - salida formateada:% d significa fecha,% hilo significa nombre del hilo,% -5level: el nivel se muestra desde la izquierda con 5 caracteres de ancho% msg: mensaje de registro,% n es un carácter de nueva línea -> <patrón>% fecha {aaaa-MM-dd HH: mm: ss}% resaltado (% - 5 niveles)% boldCyan ([% hilo]) % boldGreen (% logger {50}) - % msg% n </patrón> <charset> UTF-8 </charset> </encoder> </appender> <! - INFO log appender -> <appender name = "INFO" class = "ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class = "ch.qos. logback.core.rolling.TimeBasedRollingPolicy "> <! - La ubicación de almacenamiento y el nombre de archivo del archivo generado durante el rodaje% d {aaaa-MM-dd}: registro rodante por día % i: cuando el tamaño del archivo excede maxFileSize, siga Realice el desplazamiento de archivos -> <FileNamePattern> $ {logPath} / $ {appName} / info.% d {aaaa-MM-dd} .log </FileNamePattern> <! - Número de días para mantener los archivos de registro -> <MaxHistory>> $ {maxHistory} </ MaxHistory> </rollingPolicy> <encoder class = "ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <! - salida formateada:% d representa la fecha,% hilo representa el nombre del hilo,% -5level: el nivel se muestra desde la izquierda con 5 caracteres de ancho% msg: mensaje de registro,% n es un carácter de nueva línea -> <patrón> % fecha {aaaa-MM-dd HH: mm: ss}% boldBlue (% - 5level)% boldCyan ([% hilo]) % boldGreen (% logger {50}) - % msg% n </pattern> <charset> UTF-8 </charset> </encoder> <! - Tamaño máximo del archivo de registro -> <triggeringPolicy class = "ch. qos.logback. core.rolling.SizeBasedTriggeringPolicy "> <MaxFileSize> $ {maxFileSize} </MaxFileSize> </triggeringPolicy> <filter class =" ch.qos.logback.classic.filter.LevelFilter "> <! - Solo imprime el registro INFO -> <level> INFO </level> <onMatch> ACCEPT </onMatch> <onMismatch> DENY </onMismatch> </filter> </appender> <! - WARN log appender -> <appender name = "WARN" class = "ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <! - Al rodar La ubicación de almacenamiento y el nombre de archivo del archivo generado% d {aaaa-MM-dd}: registro rodante por día % i: cuando el tamaño del archivo excede maxFileSize, el archivo transferido se realiza de acuerdo con i -> <FileNamePattern> $ {logPath} / $ {appName} /warn.%d {aaaa-MM-dd} .log </FileNamePattern> <! - Número de días para conservar los archivos de registro -> <MaxHistory>> $ {maxHistory} </MaxHistory> </rollingPolicy> <encoder class = "ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <! - salida formateada:% d significa fecha,% hilo significa hilo name,% -5level: el nivel se muestra desde la izquierda con 5 caracteres de ancho% msg: mensaje de registro,% n es un carácter de nueva línea -> <patrón> % fecha {aaaa-MM-dd HH: mm: ss}% boldYellow (% -5level)% boldCyan ([% thread])% boldGreen (% logger {50}) - % msg% n </pattern> <charset> UTF-8 </charset> </encoder> <! - El archivo de registro más grande El tamaño de -> <triggeringPolicy class = "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize> $ {maxFileSize} </MaxFileSize> </triggeringPolicy> <filter class = "ch.qos.logback.classic.filter.LevelFilter"> <! - 只 打印 INFO 日志 -> <level> WARN </level> <onMatch> ACCEPT </onMatch> <onMismatch> DENY </onMismatch> </filter> </appender> <! - ERROR 日志 appender -> <appender name = "ERROR" class = "ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class = "ch.qos. logback.core.rolling.TimeBasedRollingPolicy "> <! --La ubicación de almacenamiento y el nombre de archivo del archivo generado durante el rodaje% d {aaaa-MM-dd}: registro rodante por día % i: cuando el tamaño del archivo excede maxFileSize, el rodaje de archivos se realiza de acuerdo con i -> <fileNamePattern> $ {logPath} / $ {appName} /error.%d {aaaa-MM-dd} .log </fileNamePattern> <! - El historial más grande del registro -> <maxHistory> $ {maxHistory} </maxHistory> </rollingPolicy> <encoder class = " ch.qos.logback.classic.encoder.PatternLayoutEncoder "> <! - salida formateada:% d representa la fecha,% hilo representa el nombre del hilo,% -5level: el nivel se muestra desde la izquierda con 5 caracteres de ancho% msg : mensaje de registro,% n es un carácter de nueva línea -> <patrón> % fecha {aaaa-MM-dd HH: mm: ss}% boldRed (% - 5level)% boldCyan ([% thread])% boldGreen (% logger {50}) - % msg% n </pattern> <charset> UTF-8 </charset> </encoder> <filter class = "ch.qos.logback.classic.filter.LevelFilter"> <! - Imprimir solo el registro de errores -> <level> ERROR </level> <onMatch> ACCEPT </onMatch> <onMismatch> DENY </onMismatch> </filter> </appender> <! - 日志 输出 级别 -> <root level = "ERROR"> <appender-ref ref = "STDOUT" /> <appender-ref ref = "INFO" /> <appender-ref ref = "WARN" /> <appender-ref ref = "ERROR" /> </root> </configuration>
archivo de configuración de registro logback-spring.xml
Supongo que te gusta
Origin blog.csdn.net/qq_38428623/article/details/93186517
Recomendado
Clasificación