使用log4j输出一个类的所有参数的值

使用log4j输出一个类的所有参数的值

log4j输出一个类的所有参数的值

项目用到的是日志框架是slf4j+log4j,在使用的过程中,如果要输出一个元素的值,一般都是这样写

logger.info("当前登录人的姓名是:{}", userinfo.getName());

这样就会输出:当前登录人的姓名是:张三

但是如果我想要输出一个类userinfo中所有的参数信息,比如说,姓名,年龄,电话等信息,如果这样就会出问题

logger.info("当前登录人的所有信息是:{}", userinfo);

这样的话,只会输出userinfo这个类的路径,包括包名和类名,如果想输出这个类中元素的所有值,必须这么写

logger.info("当前登录人的所有信息是:{}", JSONObject.toJSONString(userinfo));

JSONObject需要引入import com.alibaba.fastjson.JSONObject;

log4j各参数打印输出内容

[1]%c [2]%C [3]%d [4]%F [5]%l [6]%L [7]%m [8]%M [9]%n [10]%p [11]%r [12]%t [13]%x [14]%X [15]%%[1]com.xikang.logging.index.Log4jTest [2]com.xikang.logging.index.Log4jTest [3]2012-09-18 14:53:18,015 [4]Log4jTest.java [5]com.xikang.logging.index.Log4jTest.main(Log4jTest.java:20) [6]20 [7]test log4j [8]main [9] [10]INFO [11]0 [12]main [13] [14]{} [15]%

以上为个人经验,希望能给大家一个参考,也希望大家多多支持云海天教程。