嗨我有一个关于log4j记录器的问题.
我没有完全遵循记录器文本的一部分.
该行看起来如下
logger.debug("Some text goes here [{}] and some more text here",someObject.function());
我看了一眼,但我似乎无法找到这个作为正则表达式,它闻起来很像它可能是虽然我怀疑它将被someObject.function()的返回值替换多少如何可以替换字符串通过放置%s来输出值.我在这个假设中是否正确?如果没有请详细说明它的作用.
最佳答案
这不是一个正则表达式. {}是打印对象的特殊语法,优于字符串连接.例如,
原文链接:https://www.f2er.com/java/437319.htmllogger.debug("{},{}",o1,o2); // 2 objects will be printed
logger.debug(o1 + "," + o2); // the same in concatenation style
我建议阅读约advantages of formatting with {}
instead of string concatenation.
我想补充一点,大多数日志系统都支持asynchronous logging parameterized messages,这意味着你总是会获得一个实际值(它不能通过连接来保证).