SLF4J打印日志 logger.error用法

 

使用SLF4J打印日志,它有一个占位符(place holder){},一般不是异常的是这样打印的:

  1. logger.info("InvestmentFacadeImpl queryInvestmentInfo: investmentListResponse is {}", investmentListResponse);  

{} 就是一个占位符,那么打印出来的结果就是

  1. InvestmentFacadeImpl queryInvestmentInfo: investmentListResponse is ********  

如果是异常,那么该怎么打印呢?

一个错误的示范:

  1. logger.error("CrowdFundingAssetServiceImpl insert throws exception is {}", e.getMessage());  

其实我们可以去看一下error() 方法的源码,就知道正确的打印方式了:

  1. /**  
  2.   * Log an exception (throwable) at the ERROR level with an  
  3.   * accompanying message.  
  4.   *  
  5.   * @param msg the message accompanying the exception  
  6.   * @param t   the exception (throwable) to log  
  7.   */  
  8.  public void error(String msg, Throwable t);  

对于异常,是不需要占位符的,而且也不需要e.getMessage(),直接打印出来即可

  1. logger.error("FinancingManualFacadeImpl.addFinancingProduct failed! ", e);  
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值