Log4j comience con Log4j usando la tecnología de registro Log4j

Tecnología de registro log4j

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

Inserte la descripción de la imagen aquí

3. La arquitectura de la tecnología maderera

Inserte la descripción de la imagen aquí

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:

Inserte la descripción de la imagen aquí

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=指定的格式化符号

Inserte la descripción de la imagen aquí

5. Pasos de uso de Log4j

(1) Importe el paquete jar

Inserte la descripción de la imagen aquí

(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

Inserte la descripción de la imagen aquí

(5) Abra el archivo de salida especificado en el archivo de configuración

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_49343190/article/details/112004734
Recomendado
Clasificación