È possibile che LOG4J2 stampando l'utente fornito TimeStamp piuttosto che il tempo di sistema?
-
21-12-2019 - |
Domanda
Scrivo un'applicazione che utilizza i dati registrati con i timestamp.A tale scopo ho un oggetto che responsabile di conoscere il tempo corrente (che è in passato, ma ancora monotonico).
Desidero configurare LOG4J2, in modo tale che TimeStamp stampato sarà prelevato da questo oggetto e non dal timer del computer.È possibile?
Grazie.
Soluzione
Sì, questo è possibile.
È possibile specificare la proprietà del sistema "log4j.clock" con il nome della classe completamente qualificato di una classe che implementa l'interfaccia org.apache.logging.log4j.core.helpers.Clock
.
Vedi la documentazione qui: http://logging.apache.org / log4j / 2.x / manuale / async.html # allashnc
A partire dalla versione RC1, funziona solo per i logger ASYNC, ma nella prossima versione funzionerà per tutte le configurazioni.Si noti che nella prossima versione il pacchetto Core.Helpers è stato spostato in Core.UTIL.
Vedi anche https://issues.apache.org/jira/browse/log4j2-628 per i dettagli.