slf4j比log4j更优秀的一点是可以使用占位符

对于log4j来说,使用logger.debug()消息的时候,如果需要连接字符串,则很麻烦,需要类似这样:

private static Logger logger = Logger.getLogger(ExchangeService.class);
logger.debug("你好,我是"+name+",你好呀");

使用这种方式的时候,要写很多+号和双引号"",但如果使用slf4j的话,就会方便很多:

protected Logger logger = LoggerFactory.getLogger(getClass());
logger.debug("你好,我是{},你好呀",name);

使用{}占位,然后再将参数紧跟在,后面,这样就省去了很多+号和双引号""

我很喜欢slf4j的这个优点,那么在写单纯的Java字符串时,除了使用+号,stringbuffer将字符串拼接起来,还有其它便捷的方法可以利用吗,尤其是没有类似slf4j占位符的方法?

答案当然是有的:

String.format("%s过大,不超过%sM", msg, size)

String的format方法可以做到。


这篇文章没有什么技术含量,但推荐的方式很重要!
把很多小的优点集合在一起,就会成为很优秀的程序员!

slf4j比log4j更优秀的一点是可以使用占位符_第1张图片

你可能感兴趣的:(slf4j比log4j更优秀的一点是可以使用占位符)