概述
昨天在用Storm开发,发现log4j死活打不出debug级别的日志,网上搜到的关于log4j配置的方法都试过了,均无效。
最终发现问题是这样的:最新的storm使用的日志系统已经从log4j切换到了slf4j+logback。那么使用log4j的旧代码怎么办呢?为了避免对这些代码作任何修改,slf4j提供了桥接工具:log4j-over-slf4j,提供与log4j完全相同的类名和接口,但是底层是slf4j的实现。这样,在依赖了storm的工程中使用log4j,比如org.apache.log4j.Logger,实际找到的是log4j-over-slf4j中的完全同名的类。难怪对log4j.properties作任何修改都不起作用了,因为这里压根就没有log4j的任何事情。
发现这点以后就简单了:提供logback的配置文件logback.xml,即可起到控制日志输出的作用。未提供这个文件的时候,Java找到的是storm的jar包里的logback.xml。
最后
以上就是土豪便当为你收集整理的storm写log4j的日志发现不能写到文件里的全部内容,希望文章能够帮你解决storm写log4j的日志发现不能写到文件里所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复