Propiedades de Log4j

Comunidad, les dejo ahi un pequeño archivo de log4j.properties que pues un dia me puse a hacer, espero y a alguien le sirva, a mi me sirvio para comprender que contiene cada linea del archivo, ya el utilizarlo es mas sencillo, por mientras solo les pongo el archivito. saludos.

          ##########################################################
          ##########################################################
          ####            Propiedades del log4j                 ####
          ##########################################################
          ##########################################################

#Configuracion del nivel principal de la jerarquía(OFF,FATAL,ERROR,WARN,INFO,DEBUG ó ALL) y Appener's.
log4j.rootLogger=DEBUG, salidaArchivo, salidaConsola

#######################
#   Log de registro   #
#######################

#Indicamos el tipo de almacenamiento.
    #FileAppender - Simple archivo.
    #RollingFileAppender - Es un log de almacenamiento dinamico(cuando se llenan un archivo, lo amacena con ext 1).
    #DailyRollingFileAppender - Crea un archivo diario o por fechas.
    #SocketAppender - Servidor remoto donde almacenar registros.
    #SMTPAppender - Dirección de correo electrónico.
    #JDBCAppender - Base de datos.
log4j.appender.salidaArchivo=org.apache.log4j.RollingFileAppender

#Hubicacion del archivo.
    #ruta completa(=C:/Logs/Desarrollo.log).
    #ruta relativa a este archivo(=Desarrollo.log).
    #ruta relativa a un fichero (=${catalina.base}/logs/Desarrollo.log).
log4j.appender.salidaArchivo.file=C:/Logs/Desarrollo.log

#Tamaño del archivo (Default 10MB).
log4j.appender.salidaArchivo.maxFileSize=3MB

#Numero de archivos de almacenamiento(Default 1).
log4j.appender.salidaArchivo.maxBackupIndex=3

#Formato.
    #SimpleLayout - Formato simple.
    #PatternLayout - Se dan patrones de salida.
log4j.appender.salidaArchivo.layout=org.apache.log4j.PatternLayout

#Patrones.
    #%F: Nombre del fichero. (Operación muy costosa).
    #%L: Número de línea. (Operación muy costosa).
    #%d{ISO8601}: Fecha en el estándar ISO 8601 (2003-01-12 17:26:30,234) DEFAULT %d.
    #%d{HH:mm:ss,SSS}: Fecha con la misma sintaxis del SimpleDateFormat.
    #%d{dd MMM yyyy HH:mm:ss,SSS}
    #%d{ABSOLUTE}
    #%r: Milisegundos desde que comenzó el programa.
    #%t: Hilo que llamo al Logger.
    #%p: Prioridad del mensaje.
    #%c: Categoria del mensaje.
    #%C{1}: Clase donde esta el Logger.
    #%m%n: Retorno de linea y salto de linea.
    #%x: NDC (Nested Diagnostic Context o Contexto de Diagnostico Anidado) asociado al hilo que llamo al Logger.
    #%X:MDC (Mapped Diagnostic Context o Contexto de Diagnostico Mapeado) asociado al hilo que llamo al Logger.
    #%%: Muestra el caracter "%".
log4j.appender.salidaArchivo.layout.ConversionPattern=%d [%t] %-5p %c (%F:%L) - %m%n

#######################
#   Log de consola    #
#######################
log4j.appender.salidaConsola=org.apache.log4j.ConsoleAppender
log4j.appender.salidaConsola.layout=org.apache.log4j.PatternLayout
log4j.appender.salidaConsola.layout.ConversionPattern=%d %-5p %c (%F:%L) - %m%n

#############################
#       Bibliografia        #
#############################
#Formato.
#http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
#Otros.
#http://www.blogjava.net/zhaochengming/archive/2007/08/13/136491.html
#http://wenku.baidu.com/view/a3d809d8ce2f0066f53322df.html
#http://logging.apache.org/log4j/1.2/manual.html
#http://es.wikipedia.org/wiki/Log4j
#http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/RollingFileAppender.html
#http://www.javahispano.org/contenidos/es/sistemas_de_trazas/
#http://www.javahispano.org/forum/j2ee/es/log4j_y_dailyrollingfileappender/

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de AlexSnake

Mi Log4j

Que tal amigo, me parece muy buena la info que nos compartes, pude hacer unas modificaciones a mi log (bastante sencillo) y también lo comparto para alguien que le pudiera servir.

 
log4j.rootCategory=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <--%m-->%n

log4j.category.org.apache.activemq=ERROR
log4j.category.org.springframework.batch=DEBUG
log4j.category.org.springframework.transaction=INFO

log4j.category.test.jdbc=DEBUG
</pre>
Saludos.
Imagen de ezamudio

XML

También acepta una configuración en XML en vez de properties, donde se pueden configurar más cosas de los appenders y loggers. Yo lo tuve que usar para el AsyncAppender porque ese no se puede configurar en el properties, sólo por XML (y no acepta algunos atributos de formato como el %c o %C, aunque sí acepta el %t).

Imagen de neko069

Fuera de tiempo...

Aunque este post tiene algo de tiempo, yo les paso mi archivo de configuración de logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
  <appender name="fichero" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>/La/ruta/al/archivo.log</File>
    <Append>true</Append>
    <encoder>
      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>INFO</level>
    </filter>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>/La/ruta/al/archivo.%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>30</maxHistory>
    </rollingPolicy>
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <MaxFileSize>300KB</MaxFileSize>
    </triggeringPolicy>
  </appender>
 
  <appender name="consola" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </encoder>
  </appender>
 
  <logger name="el.nombre.del.package." level="DEBUG"/>
  <root level="INFO">
    <appender-ref ref="consola"/>
    <appender-ref ref="fichero"/>
  </root>
</configuration>

Los nombres de "consola" y "fichero" se pueden cambiar por STDOUT y FILE respectivamente, pues, creo que me hacen falta un buen de opciones que contiene esa librería, pero por el momento no he tenido la necesidad de leer más, sólo adecué el archivo para que la salida se viera semejante al log4j.

Imagen de sr.bug

Buen ejemplo

Gracias

Bug en DailyRollingFileAppender

 

Si estás usando log4j 1.x, te recomiendo que uses la clase org.apache.log4j.rolling.RollingFileAppender en lugar de org.apache.log4j.DailyRollingFileAppender porque puedes perder mensajes con esta última (Bug 43374).

Y en el javadoc de la misma:

DailyRollingFileAppender has been observed to exhibit synchronization issues and data loss. The log4j extras companion includes alternatives which should be considered for new deployments and which are discussed in the documentation for org.apache.log4j.rolling.RollingFileAppender.

Notas

Para utilizar la clase org.apache.log4j.rolling.RollingFileAppender, necesitarás agregar el JAR correspondiente (apache-log4j-extras-1.2.17.jar).

~~~