2017-06-09 4 views
-2

Meine Anwendung wird eine Konfigurationsdatei haben, die ihre Einstellungen konfiguriert.Verzögerung Log4j Initialisierung

Ich will das die Anwendung verwendet die einzige Konfigurationsdatei sein,

Die Anwendung wird aus einer JAR-Datei ausgeführt werden, was bedeutet, dass log4j so schnell gestartet werden, wie die Anwendung ausgeführt wird.

Gibt es eine Möglichkeit, die Initialisierung von log4j zu verzögern, so dass ich Informationen aus der Konfigurationsdatei verwenden kann, um log4j zu konfigurieren und dann log4j zu starten?

+1

Log4j startet nicht sofort. Es lädt seine Konfiguration, wenn es * erstmalig benutzt wird *. Wenn es sich initialisiert, bevor Sie es explizit (neu) initialisieren, dann liegt es daran, dass Sie es vorher verwenden. Entweder nicht oder akzeptiere einfach, dass die Konfiguration der Standard ist, bis du sie neu konfigurierst. – Andreas

+0

Bitte überlegen Sie, ob Sie die Konfiguration wirklich in Ihre eigene Konfigurationsdatei mit eigener Syntax einfügen wollen. Log4J ist bekannt und dokumentiert - Sind Sie sicher, dass Ihre Dokumentation so gut ist? Warum nicht einen guten Standard verwenden und Benutzer auf die Log4J-Dokumentation verweisen? – sruetti

Antwort

0

Wie Andreas schreibt, verwenden Sie (oder eine Bibliothek, die Sie anrufen) Log4J. Aber ohne ein Beispiel für einen kurzen Code können wir Ihnen nicht sagen, was vor sich geht (Hinweis: Wenn Sie den Code entfernen, um ein kurzes Beispiel zu erhalten, könnten Sie den Täter selbst finden).

Laut der Documentation sollte es sogar möglich sein (ab Release 2.4) die Konfiguration programmgesteuert nach dem Start von Log4J zu ändern.