版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
系统log4j.xml配置好了之后,系统logback日志级别别没有按照预期的执行控制台大量输出debug日志
debug日誌 排查问题可以,但是在生产环境下打印数量巨大,导致系统IO开销增加影响系统性能 因此我们要想办法把debug日志过滤掉
系统log4j配置没有生效的原因如下 可供参考
检查下系统配置中是否存在debug配置没有发现的 ,最好全文搜索下debug字段 查询是否有配置错误导致上文情况出现
通过mvn dependency:tree 查丅系统的依赖树,检查下是否存在logback的依赖包如果发现有logback-classic logback-core之类的包,从依赖树的上层过滤掉之后再看下系统日志打印级别就会正常了
相關maven命令和排包 可以参考
【Log4j】配置失效导致spring等框架一直打茚DEBUG级别的日志
在应用中使用了SpringMVC++Log4j+SLF4JLog4j的logback日志级别别调到INFO。但是在web容器(Tomcat)在启动和运行的时候,Hibernate等框架中DEBUG级别的日志不断狂刷导致日志文件剧增,磁盘没几天就爆了
针对这个问题在网上找了好多方法,都是没有效果或者治标不治本的一直以为自己的Log4j配置文件写的有问题。后來在自己新搭建的project中发现Log4j的配置是正确的只打印出INFO及以上级别的日志信息。后来才知道是因为自己的应用依赖的jar隐式依赖了logback日志框架。
Log4j和logback是有冲突的这样会导致Log4j的logback日志级别别降低到DEBUG级别。知道了原因就在maven依赖中把logback的隐式依赖给去掉。然后启动tomcat发现日志可以正常打茚。去除依赖的方法: