如何正确记录既包含已填充消息又包含异常堆栈跟踪的日志?
logger.error(
"\ncontext info one two three: {} {} {}\n",
new Object[] {"1", "2", "3"},
new Exception("something went wrong"));
我想要制作一个类似于这样的输出:
context info one two three: 1 2 3
java.lang.Exception: something went wrong
stacktrace 0
stacktrace 1
stacktrace ...
我的SLF4J版本是1.6.1。
{}
,这是品味的问题... - BetlistatoString()
方法可能是昂贵的。使用这种语法,只传递每个对象的引用,并且仅在实际记录特定消息时才调用toString()
方法。如果日志级别为WARN
或更高,则不会调用info()
日志调用中引用的对象的toString()
方法。{}
语法提醒用户,这不是类似于String.format()
的操作,即它们应该传递对象而不是其字符串表示形式。 - user149408