ho un appender log4j definito come:Log4j - avere più appenders scrivere lo stesso file con uno che registra sempre
log4j.logger.com.example = DEBUG, filelog
log4j.appender.filelog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.filelog.File=c:/app.log
log4j.appender.filelog.layout=org.apache.log4j.PatternLayout
log4j.appender.filelog.layout.ConversionPattern=%d | %m%n
log4j.appender.filelog.DatePattern=.dd-MM-yyyy
Nella mia classe, ho il registratore come:
Log logger = LogFactory.getLog(getClass());
Questo funziona correttamente. Voglio avere un logger che registra sempre determinati messaggi (non errori, ma cose come la durata delle transazioni). Se scrivo questi in DEBUG o INFO, non li vedrò se il livello di registro è cambiato. Penso di poterlo fare usando un altro appender che scrive sullo stesso file.
Questo è possibile avere due appenders scrivere allo stesso file? Come posso ottenere l'istanza del logger dove voglio usare il normale debug appender e l'appender transazionale nella stessa classe? Questi messaggi non saranno tutti nello stesso pacchetto, quindi non posso configurare un determinato pacchetto per accedere sempre. Dovrò avere questi appenders scrivere su file diversi, oppure possono entrambi ho recuperare il codice e avere qualcosa di simile:
Log alwaysLogger = LogFactory.getLog(ALWAYS);
alwaysLogger.debug("This message will always be written regardless of the level set on the filelog appender");
Aggiornamento ho potuto scrivere a due file di log diversi, se necessario, ma come otterrei l'istanza del logger nella mia classe? Non voglio configurare un pacchetto/classe per utilizzare sempre un appender rispetto all'altro poiché le classi dovranno registrare le informazioni/i messaggi di errore ei messaggi "sempre" transazionali durante una normale esecuzione. C'è un modo per ottenere ciò di cui ho bisogno anche se scrive in due file di registro diversi?
Ok, anche se ho bisogno di scrivere su un file separato, come posso ottenere entrambe le istanze del logger nel mio codice? Devo specificare quali pacchetti useranno un appender rispetto all'altro? Non voglio che ciò accada perché queste classi dovranno registrare le informazioni/i messaggi di errore e le righe "sempre". –
Questo è corretto. È possibile configurare più appendici per lo stesso file che funzioneranno per un certo tempo, ma la rotazione del registro comporterà una delle appendici che scrive su un vecchio file e, infine, per registrare i messaggi persi. – TaninDirect