Was ist der richtige Ansatz, um sowohl eine Fehlermeldung als auch eine Ausnahme mit SLF4J zu protokollieren ?
Ich habe versucht, dies zu tun, aber der Exception-Stack-Trace wird nie gedruckt:
logger.error("Unable to parse data {}", inputMessage, e);
In diesem Fall möchte ich den Exception-Stacktrace {}
mit dem inputMessage
sowie dem Abmelden füllen.
Der einzige Weg, den ich sehen kann, um dies zu tun, wäre dies zu tun:
logger.error("Unable to parse data " + inputMessage, e);
das ist nicht schön.
Antworten:
Ab SLF4J Version 1.6 interpretiert SLF4J den letzten Parameter wie beabsichtigt, dh als Ausnahme. Sie müssen eine ältere Version der SLF4J-API verwenden.
quelle
Throwable
und danach ein var-arg hat? Gibt es Löschprobleme? Ist dies ein Standard in anderen Bibliotheken, bei dem die Ausnahme als letztes Argument übergeben wird?