Ist es möglich, dass log4j2 den vom Benutzer angegebenen Zeitstempel anstelle der Systemzeit druckt?

StackOverflow https://stackoverflow.com//questions/24025398

  •  21-12-2019
  •  | 
  •  

Frage

Ich schreibe eine Anwendung, die aufgezeichnete Daten mit Zeitstempeln verwendet.Zu diesem Zweck habe ich ein Objekt, das dafür verantwortlich ist, die aktuelle Zeit zu kennen (die in der Vergangenheit liegt, aber immer noch monoton ist).

Ich möchte log4j2 so konfigurieren, dass der gedruckte Zeitstempel von diesem Objekt und nicht vom Timer des Computers übernommen wird.Ist es möglich?

Danke.

War es hilfreich?

Lösung

Ja, das ist möglich.Sie können die Systemeigenschaft "log4j.Clock" mit dem vollständig qualifizierten Klassennamen einer Klasse angeben, die die implementiert org.apache.logging.log4j.core.helpers.Clock Schnittstelle.

Siehe Dokumentation hier: http://logging.apache.org/log4j/2.x/manual/async.html#AllAsync

Ab Version RC1 funktioniert dies nur für asynchrone Logger, aber in der nächsten Version wird dies für alle Konfigurationen funktionieren.Beachten Sie, dass in der nächsten Version der Kern.das Hilfspaket wurde in den Kern verschoben.util.

Siehe auch https://issues.apache.org/jira/browse/LOG4J2-628 Einzelheiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top