这是编写日志语句的更好方法

时间:2016-04-01 06:20:31

标签: java string logging slf4j

JAVA记录:

编写日志语句的更好方法是: 1. log.info("Value1 : {} Value2:{} Value3:{}",new Object[]{a,b,c};

2. log.info(String.format("Value1 : %s Value2:%s Value3:%s",a,b,c));

3 个答案:

答案 0 :(得分:1)

没有更好或更坏的方式。两者都会给你相同的输出。但是我建议使用slf4j(例如使用logback提供程序)。使用这种配置,您可以这样登录:

log.info("{} {} {}", a, b, c);

答案 1 :(得分:0)

首选第一个。

如果由于您的日志级别高于info而没有写入日志,则您需要调用log.info的成本以及临时参数数组的构造。但是记录器不会构造日志字符串。

在第二种情况下,您有通话加上日志字符串的格式,这可能更耗时。

答案 2 :(得分:0)

更好的写法是将值传递给记录器。记录器的info()或debug()接受可变参数。假设您使用log4j或slj4j或logback作为库。如果你还没有决定,请认真考虑退回。

正确的写作方式如下:

BACK

您无需显式创建字符串对象。这是由日志框架在内部处理的。

如果对象的具体处理仅用于记录,则在检查isDebugEnabled()之后写入记录,因此在生产系统中,这将不会被处理。