Saltar al contenido

cómo hacer que log4j también escriba en la consola

Nuestros mejores programadores han agotado sus provisiones de café, por su búsqueda noche y día por la respuesta, hasta que Xavier halló la contestación en Gogs y ahora la compartimos contigo.

Solución:

Su definición de registrador raíz está un poco confusa. Consulte la documentación de log4j.

Este es un archivo de propiedades estándar de Java, lo que significa que las líneas se tratan como key= pares de valores. tu segundo log4j.rootLogger está sobrescribiendo la primera, lo que explica por qué no ves nada en la console anexador

Necesitas fusionar tus dos rootLogger definiciones en una. Parece que estás tratando de tener DEBUG los mensajes van a la consola y INFO mensajes al archivo. El registrador raíz solo puede tener uno nivel, por lo que necesita cambiar su configuración para que los appenders tengan niveles apropiados.

Si bien no he verificado que esto sea correcto, supongo que se verá así:

log4j.rootLogger=DEBUG,console,file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender

Tenga en cuenta que también tiene un error de mayúsculas y minúsculas: tiene la consola en minúsculas en un lugar y en MAYÚSCULAS en otro.

Su archivo log4j debería verse como a continuación, lea los comentarios.

# Define the types of logger and level of logging    
log4j.rootLogger = DEBUG,console, FILE

# Define the File appender    
log4j.appender.FILE=org.apache.log4j.FileAppender    

# Define Console Appender    
log4j.appender.console=org.apache.log4j.ConsoleAppender    

# Define the layout for console appender. If you do not 
# define it, you will get an error    
log4j.appender.console.layout=org.apache.log4j.PatternLayout

# Set the name of the file    
log4j.appender.FILE.File=log.out

# Set the immediate flush to true (default)    
log4j.appender.FILE.ImmediateFlush=true

# Set the threshold to debug mode    
log4j.appender.FILE.Threshold=debug

# Set the append to false, overwrite    
log4j.appender.FILE.Append=false

# Define the layout for file appender    
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout    
log4j.appender.FILE.layout.conversionPattern=%m%n

Esto funciona bien para la consola en modo de depuración.

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%dyyyy-MM-dd HH:mm:ss,SSS %-5p - %m%n

Al final de todo puedes encontrar las explicaciones de otros sys admins, tú igualmente tienes la habilidad dejar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *