LogBack使用MessageFormat

时间:2013-05-21 21:40:11

标签: java logging slf4j logback messageformat

是否可以在logback中使用MessageFormat?

我看到它使用了slf4j MessageFormat ter ,因为它的速度更快,如下所示: Out of curiosity -- why don't logging APIs implement printf()-like logging methods?

  

SLF4J使用自己的消息格式实现,这种实现有所不同   来自Java平台。这是合理的事实   SLF4J的实施速度提高了约10倍,但代价是成本   非标准且不灵活。

From sf4j Documentation

ideia是使用MessageFormat的完整堆栈功能:

 Object[] arguments = {
     new Integer(7),
     new Date(System.currentTimeMillis()),
     "a disturbance in the Force"
 };

 String result = MessageFormat.format(
     "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
     arguments);

 output: At 12:30 PM on Jul 3, 2053, there was a disturbance
           in the Force on planet 7.

任何人?

2 个答案:

答案 0 :(得分:0)

我认为你回答了自己的问题......基本上这是一个性能问题。如果slf4j实现被迫查找和解析参数化......那么......在开发系统中似乎没有人想要的开销。

答案 1 :(得分:0)

Log4j 2支持slf4j格式,MessageFormat和String.format语法,并支持一组printf方法。