Código:
Por lo que, por ejemplo, me gustaria cargar la ruta dependiendo con que version de tomcat lo ejecute, por que si no, si o si tiene que existir esa ruta (y puede que no).log4j.appender.file.File=C:\\Tools\\apache-tomcat-7.0.21\\webapps\\test-security-client\\loging.log
Eh estado mirando varios post, tratando de buscar una respuesta y la respuesta mas aceptable dice (traducido):
Código:
log.dir=/var/log/foo rrd.dir=${log.dir}/rrd datestamp=yyyy-MM-dd/HH:mm:ss.SSS/zzz roll.pattern.hourly=.yyyy-MM-dd.HH roll.pattern.daily=.yyyy-MM-dd # catchAll.log -- Default catch-all. log4j.rootLogger=DEBUG, defaultLog log4j.appender.defaultLog=org.apache.log4j.DailyRollingFileAppender log4j.appender.defaultLog.DatePattern=${roll.pattern.daily} log4j.appender.defaultLog.File=${log.dir}/catchAll.log log4j.appender.defaultLog.layout=org.apache.log4j.PatternLayout log4j.appender.defaultLog.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %m%n
Cita:
Creo que la solucion es lo que ando buscando, el tema es que no se me ocurre de hacerlo!. Y aca me entran las dudas:Traduccion: Mucha gente se queja de que log4j te fuerza a hardcodear la ubicacion del archivo de logs. Pero, es posible elegir la ubicacion de este archivo, especialmente si usas la propiedad de sustitucion ${log.dir}, asi es como es:
String dynamicLog = // log directory somehow chosen...
Properties p = new Properties( Config.ETC + "/log4j.properties" );
p.put( "log.dir", dynamicLog ); // overwrite "log.dir"
PropertyConfigurator.configure( p );
String dynamicLog = // log directory somehow chosen...
Properties p = new Properties( Config.ETC + "/log4j.properties" );
p.put( "log.dir", dynamicLog ); // overwrite "log.dir"
PropertyConfigurator.configure( p );
1- El archivo log4j.properties de log4j no es lo primero que se carga?
2- Para agregar ese codigo que modifica la variable log.dir, tengo que crear una nueva clase? como hago para ejecutarla antes que se cargue log4j.properties o es despues? (creo que me hice un nudo de conceptos!)
Estoy usando Spring y soy bastante nuevo con todo! jeje...
Alguien me podria tirar un salvavidas o aclararme los conceptos??
Gracias por leer de antemano!! Saludos!