解決IDEA集成Docker插件后出現(xiàn)日志亂碼的問(wèn)題
修改IDEA的vmoptions文件
找到IDEA安裝目錄的bin目錄,在idea.exe.vmoptions和idea64.exe.vmoptions文件中追加以下內(nèi)容:
-Dfile.encoding=utf-8
完成以上操作后,重啟IDEA即可。
2019-12-20更新
在新版本的IDEA中,可能還需要在菜單欄Help -> Edit Custom VM Options中追加以上內(nèi)容,IDEA會(huì)首先以該文件為準(zhǔn)。
補(bǔ)充知識(shí):springboot 源碼閱讀之 logback-spring.xml 是在哪里加載的?
強(qiáng)制在 logback-spring.xml 中人為制造一個(gè)錯(cuò)誤,然后啟動(dòng) springboot 工程,得到如下錯(cuò)誤調(diào)用棧信息:
進(jìn)入 LogbackLoggingSystem.java 第 169行所在的方法 loadConfiguration打斷點(diǎn), debug 進(jìn)入此方法,發(fā)現(xiàn)此時(shí)傳入的參數(shù) location 已經(jīng)是 classpath:logback-spring.xml, 所以接下來(lái)在 AbstractLoggingSystem.initializeWithConventions 方法中打斷點(diǎn),debug進(jìn)入:
發(fā)現(xiàn)config 是在調(diào)用 getSpringInitializationConfig 之后被賦值為 classpath:logback-spring.xml 的,所以進(jìn)入 getSpringInitializationConfig:
進(jìn)入 getSpringConfigLocations:
getStandardConfigLocations 的方法體為:
返回一個(gè)寫死了幾個(gè)文件名的數(shù)組
locations[i] = locations[i].substring(0, locations[i].length() - extension.length() - 1) + '-spring.' + extension
這句代碼的意思是 將上面數(shù)組中的每個(gè)文件名去掉 '點(diǎn)',去掉 后綴之后的文件名 和 -spring 和 .后綴 拼接一塊兒,
如將 logback.xml 變成 logback-spring.xml
以上這篇解決IDEA集成Docker插件后出現(xiàn)日志亂碼的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 在Android中使用WebSocket實(shí)現(xiàn)消息通信的方法詳解2. 淺談python出錯(cuò)時(shí)traceback的解讀3. Python importlib動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼4. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解5. windows服務(wù)器使用IIS時(shí)thinkphp搜索中文無(wú)效問(wèn)題6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. Nginx+php配置文件及原理解析8. 利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法9. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析
