Las rutas relativas se usan en el archivo log4j.properties.¿Dónde puedo encontrar programáticamente dónde se almacenan los archivos de registro log4j?
¿Cómo puedo encontrar la ruta absoluta programáticamente donde se almacenan los registros?
Las rutas relativas se usan en el archivo log4j.properties.¿Dónde puedo encontrar programáticamente dónde se almacenan los archivos de registro log4j?
¿Cómo puedo encontrar la ruta absoluta programáticamente donde se almacenan los registros?
Creo que una forma de hacerlo es la siguiente:
ya que la ruta es relativa a la propiedad del sistema "user.dir"
recorrido por lo que se convierte en relativo = ./app.log
{user.dir}/app.log
Desde: http://www.gunith.com/2010/11/how-to-get-the-file-path-of-a-log4j-log-file/
Supongamos que el archivo log4j.properties es el siguiente,
log4j.logger.migrationlog = INFO, migration
log4j.appender.migration = org.apache.log4j.RollingFileAppender
log4j.appender.migration.File = C:/work/log/migration.log
log4j.appender.migration.MaxFileSize=20MB
log4j.appender.migration.MaxBackupIndex=1
log4j.appender.migration.layout = org.apache.log4j.PatternLayout
log4j.appender.migration.layout.conversionPattern = %d %-5p %c - %m%n
En tal caso, el código Java debe ser el siguiente,
Logger logger = Logger.getLogger("migrationlog"); //Defining the Logger
FileAppender appender = (FileAppender)logger.getAppender("migration");
return new File(appender.getFile());
Tenga en cuenta que migrationlog se utilizó para crear el objeto registrador en la primera línea. Y migración se utiliza para obtener el FileAppender que a su vez llama a getFile() para obtener el objeto de archivo de registro.
Solo un error que cometí: Considere utilizar '(FileAppender) logger.getRootLogger(). GetAppender (" migration ")' en caso de que trabaje con el registrador raíz. De lo contrario, obtendrá una NullPointerException. – muffin
Pero ... ¿por qué quieres hacer eso? De alguna manera se supone que Log4J lo abstrae de ti. –
@Pascal, desea proporcionar acceso de registro a través de una interfaz visual para descargar. – JavaRocky