在platform-wechat-mall下二次開發的項目雛形已定,可以上線跑跑了。查看服務器日誌時卻發現一個奇怪之處:定時任務模塊 platform-schedule 在本地運行時都可以正常輸出日誌,在linux下卻沒有任何日誌輸出。
搜索網絡上的帖子看看,Log4j日誌輸出不正常原因大概有二類:
1、日誌輸出路徑配置不正確及讀寫權限不夠;
2、引用了錯誤/衝突的模塊;
第一個原因應該會導致所有日誌都不能輸出,而本項目的情況是部分模塊正常,個別模塊不輸出。看來第二個可能性較大。
查看輸入日誌正常的模塊,引用的是 org.apache.log4j.Logger;
而出問題的platform-schedule引用的則是 org.slf4j.LoggerFactory;
大家都記日誌,爲何你與衆不同?於是把platform-schedule的引用改成org.apache.log4j.Logger,果然日誌可以正常輸出了。
不過爲什麼呢?