我使用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);
这是我通常使用的语法 - 但我想确保我不会错过任何东西。