log4j2日志无法在idea控制台打印问题解决
项目所使用的日志工具情况
项目使用的springboot构建,已排除logback相关日志依赖,使用sl4j+log4j2进行日志打印
遇到的问题
日志无法打印在idea的控制台中
解决过程
获取Logger实例的方式如下:
private static Logger logger = LoggerFactory.getLogger(CreditOrderNotifyJob.class);
通过打断点的方式进入到 LoggerFactory.getLogger(Class)方法,通过对比之前的项目,发现其getILoggerFactory(String)方法返回的ILoggerFactory对象类型是org.slf4j.impl.Log4jLoggerFactory,而不是org.apache.logging.slf4j.Log4jLoggerFactory,前者是slf4j-log4j12-1.7.26.jar中的Class,而后者是log4j-slf4j-impl-2.11.2.jar中的Class,既然知道了是使用的Class不正确,那么把该Class从pom文件的依赖中排除即可,通过二分法查找发现是项目中使用的zk依赖了该jar包,exclude后日志就可以打印到控制台了。