在Linux部署系統時,打印日誌出現中文????亂碼,如下所示:
2017-06-26 17:17:09.422 [TI17170901843] INFO [MarketingServiceImpl.java:139]Marketing ?????{“flowNo”:”2017062617152539”,”resultCode”:”MMP999”,”resultDesc”:”????”}
因此需要修改jvm編碼,如下所示:
Linux環境
在catalina.sh配置
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=utf-8"
Windows環境
在catalina.bat配置
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
配置後重啓tomcat,日誌中文顯示正常
2017-06-27 00:23:39.599 [TI00223810139] INFO [MarketingServiceImpl.java:139]Marketing 返回報文:{“flowNo”:”WEBG2017062700233929”,”resultCode”:”MMP101”,”resultDesc”:”無有效活動”}
結論
爲了保持項目在不同的環境下運行正常,不出編碼的問題,Tomcat啓動的時候必須指定編碼,設定的編碼必須與開發的時候設置的編碼一致