Chr*_*ssy 12 java logging slf4j
在将一些旧记录器转换String.format为较新的slf4j {}变体的过程中,我偶然发现了这种情况:
logger.error(String.format("%s ... %s ... %s", ...), e);
Run Code Online (Sandbox Code Playgroud)
我想只使用{}并删除String格式,但是,包含throwable的记录器方法签名是:
error(String msg, Throwable t)
所以我必须保持String.format这种情况?!
为什么没有:
error(Throwable t, String format, Object... arguments)
Mat*_* G. 20
从SLF4J 1.6.0开始,如果存在多个参数,并且如果日志语句中的最后一个参数是异常,则SLF4J将假定用户希望将最后一个参数视为异常而不是简单参数.
所以,写(在SLF4J版本1.7.x及更高版本中)
logger.error("one two three: {} {} {}", "a", "b",
"c", new Exception("something went wrong"));
Run Code Online (Sandbox Code Playgroud)
会做你想要实现的......
| 归档时间: |
|
| 查看次数: |
2343 次 |
| 最近记录: |