相关疑难解决方法(0)

Logger slf4j使用{}而不是字符串连接格式化的优点

使用{}而不是字符串连接有什么好处吗?

来自slf4j的一个例子

logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
Run Code Online (Sandbox Code Playgroud)

代替

logger.debug("Temperature set to"+ t + ". Old temperature was " + oldT);
Run Code Online (Sandbox Code Playgroud)

我认为这是关于速度优化的,因为根据配置文件,可以在运行时避免参数评估(和字符串连接).但是只有两个参数是可能的,那么有时除了字符串连接之外别无选择.需要就此问题提出意见.

optimization logging concatenation string-formatting slf4j

86
推荐指数
3
解决办法
8万
查看次数

记录器格式和throwable,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)

java logging slf4j

12
推荐指数
1
解决办法
2343
查看次数