软件编程
位置:首页>> 软件编程>> java编程>> org.slf4j.Logger中info()方法的使用详解

org.slf4j.Logger中info()方法的使用详解

作者:Halimao  发布时间:2021-05-31 20:10:36 

标签:org.slf4j.Logger,info

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 = LoggerFactory.getLogger(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 = 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()方法参数如下


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()传入多个参数的方法

org.slf4j.Logger中info()方法的使用详解

不知道项目里用的是啥 ** 版本的 log4j

居然不能传入变长参数

org.slf4j.Logger中info()方法的使用详解


logger.info(String.format("%s %s %s", username, feature, "1111"));

只好采用这种方式啦

来源:https://blog.csdn.net/halimao/article/details/52997861

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com