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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

使用范例1:

private final Logger log = LoggerFactory.getLogger(getClass());

log.info(“backlog={}”, new Object[]{backlog});//backlog为Java对象,可重写toString()方法来实现输出具体属性

  • 1
  • 2
  • 3

输出如下:

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]
 
 
  • 1

使用范例2:

private final Logger log = LoggerFactory.getLogger(getClass());

log.info(“add Backlog -> employeeId={}, backlogHead={}, scheduledDate={}”, new Object[]{
backlog.getEmployeeId(), backlog.getBacklogHead(), backlog.getScheduledDate()});

  • 1
  • 2
  • 3
  • 4

输出如下:

add Backlog -> employeeId=36, backlogHead=Test, scheduledDate=Mon Feb 01 16:44:03 CST 2016]
 
 
  • 1
  • 如果info()方法参数如下:
public void info(String msg)
    {
        logger.log(FQCN, Level.INFO, msg, null);
    }
 
 
  • 1
  • 2
  • 3
  • 4

使用范例1:

log.info("backlog=" + backlog);
 
 
  • 1

输出结果:

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]
 
 
  • 1
  • 如果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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

使用范例1:

log.info("delete backlog -> backlogId={}", backlogId);
 
 
  • 1

输出如下:

delete backlog -> backlogId=69
 
 
  • 1

总结:如果第二个参数是Object,则第一个String参数里要有”{}”对应,如果是Object[]数组,数组里有几个对象,前面的String参数就要有几个{}花括号对应。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Slf4j(Simple Logging Facade for Java)记录日志时,通常会使用Logger接口。下面是一个使用org.slf4j.Logger的示例: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class LoggerExample { private static final Logger logger = LoggerFactory.getLogger(LoggerExample.class); public static void main(String[] args) { // 记录不同级别的日志 logger.debug("This is a debug message"); logger.info("This is an info message"); logger.warn("This is a warning message"); logger.error("This is an error message"); // 使用记录带参数的日志 String name = "John"; int age = 30; logger.info("User {} is {} years old", name, age); // 异常日志记录 try { int result = 10 / 0; } catch (Exception e) { logger.error("Error occurred", e); } } } ``` 在上面的示例,首先我们导入了`org.slf4j.Logger`和`org.slf4j.LoggerFactory`类。然后,我们定义了一个静态的Logger实例,使用`LoggerFactory.getLogger()`方法来获取Logger对象,参数传入当前类的Class对象。接着,我们使用不同级别的日志方法(debug、info、warn和error)记录日志信息。可以通过配置文件来控制日志级别的输出。 在示例,我们还演示了如何使用来记录带有参数的日志。使用可以方便地将变量值插入到日志消息。 最后,我们还展示了如何记录异常日志。通过将异常对象作为参数传递给日志方法,可以记录异常的堆栈信息。 请注意,这只是一个简单的示例,实际使用时需要根据具体的项目进行配置和使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值