log4j+slf4j 占位符使用
在实际开发中,项目并没有直接使用log4j作为日志主要打印,而进一步选择slf4j,原因很多,具体可以参考:
https://blog.****.net/minicto/article/details/52672472
但在slf4j中,占位符是一个非常实用的打印。话不多说,直接上demo:
建立一个实体对象:
/**
* 个人实体对象
*
* @Auther: chenkangliu
* @Date: 2018/9/30
*/
@Data
public class Person implements Serializable {
public Person() {
}
public Person(String name, int age, String sexual) {
this.name = name;
this.age = age;
this.sexual = sexual;
}
private String name;
private int age;
private String sexual;
}
编写测试打印:
/**
* 实现log4j的符号{}打印
*/
@Test
public void print2(){
Person person1 = new Person("chen",123,"man");
Person person2 = new Person("li",234,"women");
System.out.println("=====================================================");
logger.info("This is a debug message,person1={},person2={}",person1,person2);
System.out.println("=====================================================");
}
执行打印:
可以看到,使用符号{ }可以直接把后面参数打印到指定字符位置,省去不必要的String生成再打印的步骤。