使用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]%
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 詳解記錄Java Log的幾種方式
- Java使用fastjson對String、JSONObject、JSONArray相互轉換
- 利用JSONObject.toJSONString()包含或排除指定的屬性
- java FastJson的簡單用法
- 如何修改JSON字符串中的敏感信息