Tengo algunos problemas para colocar mi archivo log4j.properties en classpath. Puedo usarlo cuando estoy desarrollando (Eclipse Indigo) pero, cuando exporto mi aplicación como un JAR, no puedo.Problemas para poner log4.properties classpath
que he hecho con la mano un archivo MANIFEST.MF para el JAR exportados:
Manifest-Version: 1.0
Main-Class: main.Program
Class-Path: lib/log4j.properties lib/log4j-1.2.15.jar
Y luego con poner el JAR en esta organización de archivos:
folder
|-------- app.jar
|-------- lib
|--------- log4j.properties
|--------- log4j-1.2.15.jar
Cuando trato de ejecutar app.jar, encuentran log4j.jar pero no log4j.properties:
log4j:WARN No appenders could be found for logger (main.Program).
log4j:WARN Please initialize the log4j system properly.
Mis log4j.pro piedades de archivos es la siguiente:
log4j.rootLogger=INFO, stdout, file
PATTERN=[%d] [%p] [%c{1}]: %m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=${PATTERN}
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File=${logger_file_path}
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=${PATTERN}
Da el mismo error – rnunes
Ya he corregido el cambio de log4j.properties en la "carpeta" (donde existe el JAR) y cambio el class-path a ".lib/log4j-1.2.15.jar". Antes de eso, he probado varias rutas de carpeta a "lib" (por ejemplo,/lib /, lib /,/lib /) y ninguna de ellas funcionó. – rnunes
Un hilo viejo, pero solo quiero agregar que este enfoque realmente funciona. Otra cosa buena acerca de este enfoque es que un usuario puede cambiar el nivel de registro si lo desea porque el archivo de configuración está fuera de cualquier contenedor. – arunskrish