java中log4j源码中是怎么把{}替换为后面的参数的

比如
logger.info("用户:{}",1);
会输出日志 用户:1
想知道源码是怎么实现的~~谢谢~~

阅读 16.3k
4 个回答

正则表达式咯

新手上路,请多包涵

大佬,你找到原理了么
感觉还是slf4j 或者 logback做了某些处理
因为执行

System.out.println(String.format("aaa{}ccc", "bbb", "ddd"));

输出的是 aaa{}ccc
并没有替换掉{}中的内容

而正则的话,没有印象{} 可以替换内容啊

新手上路,请多包涵

java.util.Formatter.format(String,Object...);
就是使用jdk的format格式化字符串而已

新手上路,请多包涵

应该是用了slf4j

推荐问题