Log4j - Force-log-message-Parameter
Ich versuche mich zu zwingen, das detail innerhalb von log4j Nachrichten im Gegensatz zu nur ein string. Letztendlich würde ich gern so etwas wie:
logger.info("Komponente", "Fehler-code", "error message");
Ich kann auch ein enum-Element für die Komponente.
Ich würde dann erwarten, dass die Meldung erscheint im log als "Zeit - Komponente - code - Meldung"
Irgendwelche Ideen?
- Meist mit log4j, name der Klasse, wo die exception gefangen wird protokolliert. Und Fehler code zusammengeführt wird innerhalb der Nachricht. Sie können grep error code später auf, nur erfinden Sie Ihr format zu unterscheiden zwischen code und text der Nachricht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer sehr trivialen Lösung (für diesen speziellen Fall):
oder in einer verbesserten version:
mit
Für eine Allgemeine Lösung, betrachten Sie die Verpackung der original-Logger-Klasse in eine eigene logger-Klasse und implementieren Sie einen
info
Methode akzeptiert drei Argumente und die DelegierteninternalLogger.info(String message)
mit der neuen Nachricht basierend auf dem input.