Jakie jest prawidłowe podejście do rejestrowania zarówno komunikatu o błędzie, jak i wyjątku za pomocą SLF4J ?
Próbowałem to zrobić, ale ślad stosu wyjątków nigdy nie jest drukowany:
logger.error("Unable to parse data {}", inputMessage, e);
W tym przypadku chcę, aby wypełnić {}
z inputMessage
jak wylogowaniu się StackTrace wyjątku.
Jedynym sposobem, w jaki mogę to zrobić, byłoby zrobienie tego:
logger.error("Unable to parse data " + inputMessage, e);
co nie jest ładne.
Odpowiedzi:
Od wersji 1.6 SLF4J, SLF4J zinterpretuje ostatni parametr zgodnie z zamierzeniami, tj. Jako wyjątek. Musisz używać starszej wersji SLF4J API.
źródło
Throwable
a następnie ma zmienną argumentację? Czy są problemy z kasowaniem? Czy w innych bibliotekach jest to standard, w którym wyjątek jest przekazywany jako ostatni argument?