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()方法來實(shí)現(xiàn)輸出具體屬性
輸出如下:
backlog=Backlog [backlogId=null, employeeId=36, backlogHead=Test, backlogBody=時間:2016-10-1,地點(diǎn):二樓四號會議室, 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,地點(diǎn):二樓四號會議室, 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ù)里要有”{}”對應(yīng),如果是Object[]數(shù)組,數(shù)組里有幾個對象,前面的String參數(shù)就要有幾個{}花括號對應(yīng)。
log.info()傳入多個參數(shù)的方法

不知道項(xiàng)目里用的是啥 ** 版本的 log4j
居然不能傳入變長參數(shù)

logger.info(String.format("%s %s %s", username, feature, "1111"));
只好采用這種方式啦
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot結(jié)合maven配置不同環(huán)境的profile方式
這篇文章主要介紹了springboot結(jié)合maven配置不同環(huán)境的profile方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
JAVA線程sleep()和wait()詳解及實(shí)例
這篇文章主要介紹了JAVA線程sleep()和wait()詳解及實(shí)例的相關(guān)資料,探討一下sleep()和wait()方法的區(qū)別和實(shí)現(xiàn)機(jī)制,需要的朋友可以參考下2017-05-05
Java基于分治法實(shí)現(xiàn)的快速排序算法示例
這篇文章主要介紹了Java基于分治法實(shí)現(xiàn)的快速排序算法,結(jié)合實(shí)例形式分析了java基于分治法的快速排序相關(guān)實(shí)現(xiàn)技巧,代碼中備有較為詳細(xì)的注釋說明便于理解,需要的朋友可以參考下2017-12-12
Java 設(shè)置Excel條件格式示例代碼(高亮條件值、應(yīng)用單元格值/公式/數(shù)據(jù)條等類型)
這篇文章主要介紹了Java 設(shè)置Excel條件格式示例代碼(高亮條件值、應(yīng)用單元格值/公式/數(shù)據(jù)條等類型),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
SpringBoot根據(jù)參數(shù)動態(tài)調(diào)用接口實(shí)現(xiàn)類方法
在?Spring?Boot?開發(fā)中,我們經(jīng)常會遇到根據(jù)不同參數(shù)調(diào)用接口不同實(shí)現(xiàn)類方法的需求,本文將詳細(xì)介紹如何實(shí)現(xiàn)這一功能,有需要的小伙伴可以參考下2025-02-02
java實(shí)現(xiàn)的簡單猜數(shù)字游戲代碼
這篇文章主要介紹了java實(shí)現(xiàn)的簡單猜數(shù)字游戲代碼,通過隨機(jī)數(shù)與邏輯判斷來實(shí)現(xiàn)游戲功能,具有一定的參考借鑒價值,需要的朋友可以參考下2014-11-11
使用Java應(yīng)用程序添加或刪除 PDF 中的附件
當(dāng)我們在制作PDF文件或者PPT演示文稿的時候,為了讓自己的文件更全面詳細(xì),就會在文件中添加附件,那么如何添加或刪除PDF中的附件呢,今天通過本文給大家詳細(xì)講解,需要的朋友參考下吧2023-01-01

