我使用sl4j/logback作爲日誌記錄框架。我不確定正確的方式來記錄錯誤。也就是說,假定e是一個例外,我想記錄,我一直猶豫之間:日誌記錄良好做法
logger.error("Something bad happened: {}\nError: {}", someInfo, e.getMessage());
我明白這是不好的做法,因爲堆棧跟蹤丟失 - 並不大明白髮生了什麼。
logger.error("Something bad happened: {}\nError: {}", someInfo, e.getMessage(), e);
同時使用
e.getMessage()
和e
似乎是多餘的,雖然我不知道這是否是可能的,e.getMessage()
可能包含,如果我使用,不會被視爲額外的信息:logger.error("Something bad happened: {}", someInfo, e);
這是我通常使用的語法 - 但我想確保我不會錯過任何東西。