org.slf4j.Logger中info()方法的使用詳解
org.slf4j.Logger中info()方法
如果info()方法參數(shù)為以下類型
public void info(String format, Object argArray[]) { if(logger.isInfoEnabled()) { FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable()); } }
使用范例1
private final Logger log = LoggerFactory.getLogger(getClass()); log.info("backlog={}", new Object[]{backlog});//backlog為Java對象,可重寫toString()方法來實現(xiàn)輸出具體屬性
輸出如下:
backlog=Backlog [backlogId=null, employeeId=36, backlogHead=Test, backlogBody=時間:2016-10-1,地點:二樓四號會議室, createDate=Tue Nov 01 16:44:03 CST 2016, scheduledDate=Mon Feb 01 16:44:03 CST 2016]
使用范例2
private final Logger log = LoggerFactory.getLogger(getClass()); log.info("add Backlog -> employeeId={}, backlogHead={}, scheduledDate={}", new Object[]{ backlog.getEmployeeId(), backlog.getBacklogHead(), backlog.getScheduledDate()});
輸出如下:
add Backlog -> employeeId=36, backlogHead=Test, scheduledDate=Mon Feb 01 16:44:03 CST 2016]
如果info()方法參數(shù)如下
public void info(String msg) { logger.log(FQCN, Level.INFO, msg, null); }
使用范例1
log.info("backlog=" + backlog);
輸出結(jié)果:
backlog=Backlog [backlogId=null, employeeId=36, backlogHead=Test, backlogBody=時間:2016-10-1,地點:二樓四號會議室, createDate=Tue Nov 01 16:44:03 CST 2016, scheduledDate=Mon Feb 01 16:44:03 CST 2016]
如果info()方法參數(shù)如下
public void info(String format, Object arg) { if(logger.isInfoEnabled()) { FormattingTuple ft = MessageFormatter.format(format, arg); logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable()); } }
使用范例1
log.info("delete backlog -> backlogId={}", backlogId);
輸出如下:
delete backlog -> backlogId=69
總結(jié):如果第二個參數(shù)是Object,則第一個String參數(shù)里要有”{}”對應,如果是Object[]數(shù)組,數(shù)組里有幾個對象,前面的String參數(shù)就要有幾個{}花括號對應。
log.info()傳入多個參數(shù)的方法
不知道項目里用的是啥 ** 版本的 log4j
居然不能傳入變長參數(shù)
logger.info(String.format("%s %s %s", username, feature, "1111"));
只好采用這種方式啦
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決SpringBoot的@DeleteMapping注解的方法不被調(diào)用問題
這篇文章主要介紹了解決SpringBoot的@DeleteMapping注解的方法不被調(diào)用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01Java并發(fā)編程之ReentrantLock實現(xiàn)原理及源碼剖析
ReentrantLock 是常用的鎖,相對于Synchronized ,lock鎖更人性化,閱讀性更強,文中將會詳細的說明,請君往下閱讀2021-09-09詳解Spring boot使用Redis集群替換mybatis二級緩存
本篇文章主要介紹了詳解Spring boot使用Redis集群替換mybatis二級緩存,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05springboot整合mail實現(xiàn)郵箱的發(fā)送功能
本文分步驟給大家介紹springboot整合mail實現(xiàn)郵箱的發(fā)送功能,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-09-09