log4j2日志配置文件
<? Xml version = "1.0" encoding = "UTF-8."?> <Configuración de estado = "WARN"> <Propiedades> <Property name = "LOG_HOME"> logs </ propiedad> <Property name = "FILE_NAME"> la API </ propiedad> </ Properties> <- $ {SYS: esto se refiere a la catalina.home Tomcat raíz} -> <los appenders en> <- - salida del registro de la consola!> <nombre de la consola = "consola" target = "SYSTEM_OUT"> <- sólo el nivel de salida de la consola y la información de nivel superior (onMatch), otra negación directa (onMismatch) -> <- :! nivel del TRACE <DEBUG <iNFO <WARN <ERROR < FATAL -> <ThresholdFilter Nivel = "DEBUG"onMatch = "ACEPTAR" onMismatch = "DENY" /> <PatternLayout patrón = "% d {aaaa-MM-dd 'en' HH: mm: SS.sss z} [% t]% -5level% logger {36} - % msg% n "/>= OnMatch "ACEPTAR" onMismatch = "Denegar" /> </ Consola> <! - los archivos de registro de reciclaje: El archivo de registro es mayor que el umbral, comenzó a escribir un nuevo archivo de registro Esto imprimirá toda la información, cada uno más grande que el tamaño, este tamaño es el tamaño del registro será acreditado automáticamente por año - carpeta mes creada archivo de abajo y compresión, como un archivo Nombre del archivo: especificar el archivo de registro actual ubicación y el nombre del archivo filePattern: balanceo se produce cuando se especifica, y cambiar el nombre de la transferencia de archivos gobierna SizeBasedTriggeringPolicy: especifica el volumen cuando el tamaño del archivo es mayor que el valor de activación especificado balanceo DefaultRolloverStrategy: especifica el número de archivos a ahorrar hasta un día, como el valor predeterminado 7. TimeBasedTriggeringPolicy: utilizando esta configuración requiere y filePattern unión Nota filePattern regla archivo de configuración de cambio de nombre es $ {} _ FILE_NAME% d { aaaa-MM-dd} _% i, la granularidad tiempo mínimo es dd, es decir, días, TimeBasedTriggeringPolicy especifica el tamaño es 1, se combina para generar un nuevo archivo para cada día onMatch / onMismatch: ACCEPT: aceptar el partido, DENY: partido de sanción, neutral: no se trata, por lo que el código para hacer el proceso de seguimiento. -> <! - INFO de entrada-nivel para el archivo de registro -> <RollingRandomAccessFile name = "INFO" archivo = "$ {sys: catalina.home} / logs / $ {} FILE_NAME -info.log" filePattern = "$ {sys: catalina.home} / log / $ {} FILE_NAME -info_ % d {aaaa-MM-dd} _% i.log.gz "> <Filtros> <ThresholdFilter nivel =" WARN "onMatch = "DENY" onMismatch = "neutral"/> <ThresholdFilter nivel = "TRACE" onMatch =" ACEPTAR "onMismatch = "DENY"/> </ filtros> <PatternLayout patrón =" % d {aaaa-mM-dd 'en' HH: mm: sS.sss z}% -5level% clase {36}% L% M -% msg% Xex% n "/> <Policies> <TimeBasedTriggeringPolicy intervalo =" 1" /> <Tamaño SizeBasedTriggeringPolicy = "100 MB" /> </ Policies> <! - cada día es el número máximo permitido de archivos comprimidos, más de este número, frente al archivo se limpia a sí mismo si no lo hace de escritura, el número predeterminado es 7 -> <Patrón PatternLayout = "% d {aaaa-MM-dd 'en' HH: mm: SS.sss z}% -5level% clase {36}% L% M -% msg% Xex% n" /> <DefaultRolloverStrategy max = "100" /> </ RollingRandomAccessFile> <- -输入ERROR级别的日志到文件!> <RollingRandomAccessFile name = "ERROR" archivo = "$ {sys: catalina.home} / logs / $ { FILE_NAME} -error.log" filePattern = "$ {sys: catalina.home} / log / $ {} FILE_NAME -error_% d {aaaa-MM-dd} _% i.log.gz"> <Filtros> <ThresholdFilter nivel = "fatal" onMatch = "DENY" onMismatch = "neutral" /> <ThresholdFilter nivel = "WARN" onMatch = "ACEPTAR" onMismatch = "DENY" /> </ Filtros> <Policies> <TimeBasedTriggeringPolicy intervalo = "1" /> <tamaño SizeBasedTriggeringPolicy = "100 MB" /> </ Policies> <DefaultRolloverStrategy max = "100" /> </ RollingRandomAccessFile> <- -输入FATAL级别的日志到文件!> <Nombre RollingRandomAccessFile = "fatal" archivo = "$ {sys: catalina.home} / logs / $ { FILE_NAME} -fatal.log" filePattern = "$ {sys: catalina.home} / log / $ {} FILE_NAME -fatal_% d {aaaa-MM-dd} _% i.log.gz"> <Filtros> <ThresholdFilter nivel = "fatal" onMatch = "ACEPTAR" onMismatch = "DENY" /> </ filtros> <PatternLayout patrón = "% d {aaaa-mM-dd 'en' HH: mm: sS.sss z}% -5level% clase {36}% L% M -% msg% Xex% n "/> SSS z}% -5level% clase {36}%% L M -% msg% Xex% n "/> <Policies> <TimeBasedTriggeringPolicy intervalo =" 1" /> <Tamaño SizeBasedTriggeringPolicy = "100 MB" /> </ Policies> <DefaultRolloverStrategy max = "100" /> </ RollingRandomAccessFile> <nombre RollingRandomAccessFile = "REQS" Nombre de archivo = "$ {sys: catalina.home} / logs / $ {} FILE_NAME -reqs. log" filePattern = "$ {sys: catalina.home} / log / $ {} FILE_NAME -reqs_% d {aaaa-MM-dd} _% i.log.gz"> <Filtros> <ThresholdFilter nivel = "INFO" onMatch = "ACEPTAR" onMismatch = "DENY" /> </ filtros> <PatternLayout patrón = "% d {aaaa-mM-dd 'en' HH: mm: sS.sss z}% -5level% clase {36}% L% M -% msg% Xex% n "/> <Policies> <TimeBasedTriggeringPolicy intervalo = "1" /> <tamaño SizeBasedTriggeringPolicy = "100 MB" /> </ Policies> <! - Máximo diario número permitido de archivo comprimido existe, más que este número, frente al archivo se limpia a sí mismo si no lo hace de escritura, el número predeterminado es 7 -> <DefaultRolloverStrategy max = "100" /> </ RollingRandomAccessFile> </ appenders> <madereros> <logger name = "com.iotlead.hardware.api.business.impls.ApiLogService" aditividad = "true"> < valor de prioridad = "info" /> <appender-ref ref = "consola" /> <appender-ref ref = "REQS" /> </ registrador> <-日志等级,部署时一定要改成ERROR等级: TRACE <DEBUG <INFO <WARN <ERROR <FATAL -> <nivel de la raíz = "Test"> <! -输入日志到控制台-> <REF-REF = appender la "consola" /> <! - introducida en el archivo de registro -> <! - <REF-REF = la appender "INFO" /> -> <! - de entrada de archivo de registro de errores -> <! - <REF-REF = "ERROR" appender /> -> <! - entrada para el archivo de registro de errores del sistema -> <! - <REF-REF = appender la "fatal" /> -> < / la raíz> </ registradores> </ configuration>
Fuente original: https://blog.csdn.net/mc_linfen/article/details/82970291