解決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. python中scrapy處理項(xiàng)目數(shù)據(jù)的實(shí)例分析2. Python中讀取文件名中的數(shù)字的實(shí)例詳解3. 在idea中為注釋標(biāo)記作者日期操作4. 通過(guò)Ajax方式綁定select選項(xiàng)數(shù)據(jù)的實(shí)例5. JSP頁(yè)面的靜態(tài)包含和動(dòng)態(tài)包含使用方法6. ASP.Net Core對(duì)USB攝像頭進(jìn)行截圖7. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁(yè)8. .net如何優(yōu)雅的使用EFCore實(shí)例詳解9. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟10. ajax動(dòng)態(tài)加載json數(shù)據(jù)并詳細(xì)解析
