解決IDEA集成Docker插件后出現日志亂碼的問題
修改IDEA的vmoptions文件
找到IDEA安裝目錄的bin目錄,在idea.exe.vmoptions和idea64.exe.vmoptions文件中追加以下內容:
-Dfile.encoding=utf-8
完成以上操作后,重啟IDEA即可。
2019-12-20更新
在新版本的IDEA中,可能還需要在菜單欄Help -> Edit Custom VM Options中追加以上內容,IDEA會首先以該文件為準。
補充知識:springboot 源碼閱讀之 logback-spring.xml 是在哪里加載的?
強制在 logback-spring.xml 中人為制造一個錯誤,然后啟動 springboot 工程,得到如下錯誤調用棧信息:
進入 LogbackLoggingSystem.java 第 169行所在的方法 loadConfiguration打斷點, debug 進入此方法,發現此時傳入的參數 location 已經是 classpath:logback-spring.xml, 所以接下來在 AbstractLoggingSystem.initializeWithConventions 方法中打斷點,debug進入:
發現config 是在調用 getSpringInitializationConfig 之后被賦值為 classpath:logback-spring.xml 的,所以進入 getSpringInitializationConfig:
進入 getSpringConfigLocations:
getStandardConfigLocations 的方法體為:
返回一個寫死了幾個文件名的數組
locations[i] = locations[i].substring(0, locations[i].length() - extension.length() - 1) + '-spring.' + extension
這句代碼的意思是 將上面數組中的每個文件名去掉 '點',去掉 后綴之后的文件名 和 -spring 和 .后綴 拼接一塊兒,
如將 logback.xml 變成 logback-spring.xml
以上這篇解決IDEA集成Docker插件后出現日志亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: