屏蔽 框架的 log4j 输出

最近尝试在ssh的java项目中使用日志框架log4j取代system.out,但是发现加入log4j后,整个后台都被ssh的调试信息输出占满,我的本意是只显示自己的调试信息,不想看框架的调试信息,该怎么设置?还有如果我的项目中大量的使用log4j来输出调试信息,打包发布的时候,调高输出等级的话,框架会把这些输出语句也编译到class里面吗?还是说能做到智能点,始终少一点语句运行效率更高。

阅读 6.2k
1 个回答

建议使用slf4j这个日志统一接口,即使现在用的log4j,以后想换成别的日志框架也是很方便的。

接下来,你需要配置log4j.properties这个文件

log4j.rootLogger=error,stdout


log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

#你的项目xxx包
log4j.logger.xxx.*=DEBUG,stdout

以上日志配置意思是:
你的项目包下的日志都打印debug级别的信息,输出到控制台。
其他日志只显示error级别的。

推荐我的一篇文章:https://segmentfault.com/a/11...
logback是log4j的作者写的新的日志框架,效率很高。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏