Les chemins d'accès relatifs sont utilisés dans le fichier log4j.properties.Où puis-je trouver par programme où les fichiers journaux log4j sont stockés?
Comment puis-je trouver le chemin absolu par programme où les journaux sont stockés?
Les chemins d'accès relatifs sont utilisés dans le fichier log4j.properties.Où puis-je trouver par programme où les fichiers journaux log4j sont stockés?
Comment puis-je trouver le chemin absolu par programme où les journaux sont stockés?
Je pense que d'une façon est comme ceci:
puisque le chemin est relatif à la propriété du système "user.dir"
chemin si relatif = ./app.log
devient {user.dir}/app.log
De: http://www.gunith.com/2010/11/how-to-get-the-file-path-of-a-log4j-log-file/
Supposons que le fichier log4j.properties est comme ci-dessous,
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
Dans ce cas, votre code Java devrait être comme suit,
Logger logger = Logger.getLogger("migrationlog"); //Defining the Logger
FileAppender appender = (FileAppender)logger.getAppender("migration");
return new File(appender.getFile());
Notez que migrationlog a été utilisé pour créer l'objet enregistreur dans la première ligne. Et La migration est utilisée pour obtenir FileAppender qui à son tour appelle getFile() pour obtenir l'objet fichier journal.
Juste une erreur que j'ai faite: Pensez à utiliser '(FileAppender) logger.getRootLogger(). GetAppender (" migration ")' dans le cas où vous travaillez avec le Logger racine. Sinon, vous obtiendrez une exception NullPointerException. – muffin
Mais ... pourquoi voulez-vous faire cela? Log4J est en quelque sorte censé l'abstraire de vous. –
@Pascal, Souhaitez-vous fournir un accès au journal via une interface visuelle pour le téléchargement. – JavaRocky