org.slf4j.Logger中info()方法的使用详解
作者:Halimao 时间:2021-05-31 20:10:36
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()传入多个参数的方法
不知道项目里用的是啥 ** 版本的 log4j
居然不能传入变长参数
logger.info(String.format("%s %s %s", username, feature, "1111"));
只好采用这种方式啦
来源:https://blog.csdn.net/halimao/article/details/52997861
标签:org.slf4j.Logger,info
0
投稿
猜你喜欢
一文详解Java Netty中的Constant类
2023-03-03 17:17:55
C#中英文混合字符串截取函数
2023-01-19 06:02:55
java多线程-读写锁原理
2021-07-20 17:28:52
微信公众号支付(二)实现统一下单接口
2023-01-12 21:29:18
Android 滑动小圆点ViewPager的两种设置方法详解流程
2023-08-05 03:18:58
java遍历读取xml文件内容
2023-11-12 09:59:09
java中的session对象及其常用方法小结
2023-11-25 02:31:33
java实现多线程之定时器任务
2021-07-10 08:56:14
(starters)springboot-starter整合阿里云datahub方式
2023-03-12 06:28:16
C#表达式中的动态查询详解【译】
2021-07-29 05:19:42
安卓Android6.0权限动态获取操作示例
2023-01-26 22:56:43
android studio 安装完成ButterKnife插件却无法使用(解决方案)
2023-03-14 17:54:58
SpringBoot整合第三方技术的详细步骤
2023-11-29 08:22:48
Spring boot动态修改日志级别的方法
2023-04-04 09:36:00
C# dll代码混淆加密的实现
2022-01-06 17:25:04
二叉树的遍历算法(详细示例分析)
2022-08-04 02:38:35
Springboot一个注解搞定返回参数key转换功能
2022-06-21 00:11:24
Android Notification使用方法详解
2023-12-14 13:03:17
Java 基础语法中的逻辑控制
2022-11-22 16:30:59
使用IntelliJ IDEA 配置安卓(Android)开发环境的教程详解(新手必看)
2021-10-22 19:11:28