org.slf4j.Logger中info()⽅法的使⽤详解
⽬录
org.slf4j.Logger中info()⽅法
如果info()⽅法参数为以下类型
使⽤范例1
使⽤范例2
如果info()⽅法参数如下
使⽤范例1
如果info()⽅法参数如下
使⽤范例1
log.info()传⼊多个参数的⽅法
log4j2 logger标签
org.slf4j.Logger中info()⽅法
如果info()⽅法参数为以下类型
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 = Logger(getClass());
log.info("backlog={}", new Object[]{backlog});//backlog为Java对象,可重写toString()⽅法来实现输出具体属性
输出如下:
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 = Logger(getClass());
log.info("add Backlog -> employeeId={}, backlogHead={}, scheduledDate={}", new Object[]{
输出如下:
add Backlog -> employeeId=36, backlogHead=Test, scheduledDate=Mon Feb 01 16:44:03 CST 2016]
如果info()⽅法参数如下
public void info(String msg)
{
logger.log(FQCN, Level.INFO, msg, null);
}
使⽤范例1
log.info("backlog=" + backlog);
输出结果:
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()⽅法参数如下
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
总结:如果第⼆个参数是Object,则第⼀个String参数⾥要有”{}”对应,如果是Object[]数组,数组⾥有⼏个对象,前⾯的String参数就要有⼏个{}花括号对应。
log.info()传⼊多个参数的⽅法
不知道项⽬⾥⽤的是啥 ** 版本的 log4j
居然不能传⼊变长参数
logger.info(String.format("%s %s %s", username, feature, "1111"));
只好采⽤这种⽅式啦
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。