使用SLF4J打印日志,它有一个占位符(place holder){},一般不是异常的是这样打印的:
- logger.info("InvestmentFacadeImpl queryInvestmentInfo: investmentListResponse is {}", investmentListResponse);
{} 就是一个占位符,那么打印出来的结果就是
- InvestmentFacadeImpl queryInvestmentInfo: investmentListResponse is ********
如果是异常,那么该怎么打印呢?
一个错误的示范:
- logger.error("CrowdFundingAssetServiceImpl insert throws exception is {}", e.getMessage());
其实我们可以去看一下error() 方法的源码,就知道正确的打印方式了:
- /**
- * Log an exception (throwable) at the ERROR level with an
- * accompanying message.
- *
- * @param msg the message accompanying the exception
- * @param t the exception (throwable) to log
- */
- public void error(String msg, Throwable t);
对于异常,是不需要占位符的,而且也不需要e.getMessage(),直接打印出来即可
- logger.error("FinancingManualFacadeImpl.addFinancingProduct failed! ", e);