在platform-wechat-mall下二次开发的项目雏形已定,可以上线跑跑了。查看服务器日志时却发现一个奇怪之处:定时任务模块 platform-schedule 在本地运行时都可以正常输出日志,在linux下却没有任何日志输出。
搜索网络上的帖子看看,Log4j日志输出不正常原因大概有二类:
1、日志输出路径配置不正确及读写权限不够;
2、引用了错误/冲突的模块;
第一个原因应该会导致所有日志都不能输出,而本项目的情况是部分模块正常,个别模块不输出。看来第二个可能性较大。
查看输入日志正常的模块,引用的是 org.apache.log4j.Logger;
而出问题的platform-schedule引用的则是 org.slf4j.LoggerFactory;
大家都记日志,为何你与众不同?于是把platform-schedule的引用改成org.apache.log4j.Logger,果然日志可以正常输出了。
不过为什么呢?