Tecnología de registro log4j
Directorio de artículos
1. Concepto
La tecnología de registro en el programa puede registrar el proceso detallado del programa cuando se está ejecutando y se puede almacenar de forma permanente
2. La diferencia entre declaraciones de registro y de salida
3. La arquitectura de la tecnología maderera
4. Explicación detallada del archivo de configuración de Log4j
Nota: El nombre del archivo de configuración de Log4j debe ser log4j.properties. Un ejemplo simple es el siguiente:
Tres núcleos del archivo de configuración Log4j
(1) Registrador de registradores
i. Rol: se utiliza para indicar el nivel del registro
ii. Formato:log4j.rootLogger=日志级别,appenderName1,appenderName2...
iii. Nivel de registro:
OFF, DEBUG <INFO <WARN <ERROR <FATAL, ALL, nivel personalizado
Nota: Log4j tiene una regla para generar solo información de registro con un nivel no inferior al nivel especificado
iv. appenderName: configurar en la fuente de salida de Appenders
(2) Fuente de salida de los añadidores
Función: enviar registros a diferentes lugares, como consola, archivos, etc.
ii. Formato:
Salida a la consola:
log4j.appender.自定义appenderName的名称=org.apache.log4j.ConsoleAppender
Salida a archivo:
log4j.appender.自定义appenderName的名称=org.apache.log4j.FileAppender
iii. Opciones de ConsoleAppender más utilizadas:
- ImmediateFlush = verdadero
Indica que todos los mensajes se emitirán de inmediato, se establece en falso para no emitir, el valor predeterminado es verdadero
- Destino = System.out
Use el color de la fuente es negro, use Target = System.err, el color de la fuente es rojo
iv. Opciones de FileAppender más utilizadas:
- ImmediateFlush = verdadero
Indica que todos los mensajes se emitirán de inmediato, se establece en falso para no emitir, el valor predeterminado es verdadero
- Append = falso
verdadero significa agregar el mensaje al archivo especificado, el mensaje original no cubre
falso , el mensaje cubrirá el contenido del archivo especificado, el valor predeterminado es verdadero
- Archivo = D: /logs/logging.log4j (La dirección de la ruta es una barra inclinada a la izquierda)
Salida de la información del registro al archivo especificado, este archivo no necesita existir, se creará automáticamente
(3) Diseños
i. Función: ajustar el formato de la salida del registro
ii. Formato:
El modo de diseño se puede especificar de forma flexible:
log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.PatternLayout
Contiene el nivel de información de registro y la cadena de información:
log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.SimpleLayout
Contiene información como la hora, el hilo y la categoría del registro:
log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.TTCCLayout
iii. Opciones de PatternLayout más utilizadas
formato:ConversionPattern=指定的格式化符号
5. Pasos de uso de Log4j
(1) Importe el paquete jar
(2) Escriba el archivo de configuración log4j.properties y coloque este archivo en el directorio src
log4j.rootLogger=info,my,fileAppender
### direct log messages to my ###
log4j.appender.my=org.apache.log4j.ConsoleAppender
log4j.appender.my.ImmediateFlush = true
log4j.appender.my.Target=System.out
log4j.appender.my.layout=org.apache.log4j.PatternLayout
log4j.appender.my.layout.ConversionPattern=%d %t %5p %c{1}:%L - %m%n
# fileAppender演示
log4j.appender.fileAppender=org.apache.log4j.FileAppender
log4j.appender.fileAppender.ImmediateFlush = true
log4j.appender.fileAppender.Append=true
log4j.appender.fileAppender.File=E:/log4j-log.log
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n
(3) Obtenga el objeto de registro en el código y la salida
public class Log4JTest01 {
//Logger类所属的包是slf4j
//参数是当前类.class
private static final Logger LOGGER = LoggerFactory.getLogger(Log4JTest01.class);
public static void main(String[] args) {
LOGGER.debug("debug级别的日志"); //没有达到配置文件中的info级别,不会输出
LOGGER.info("info级别的日志");
LOGGER.warn("warn级别的日志");
LOGGER.error("error级别的日志");
}
}
(4) Resultado de la operación
(5) Abra el archivo de salida especificado en el archivo de configuración