idea日志亂碼和tomcat日志亂碼問題的解決方法
1 idea啟動(dòng)tomcat亂碼
遇到的問題:
idea整合SSM項(xiàng)目,tomcat啟動(dòng),啟動(dòng)時(shí)查看idea上的tomcat日志,出現(xiàn)亂碼:

但是直接用tomcat 的 startup.bat啟動(dòng),無亂碼:

2,出現(xiàn)的原因:
查看tomcat/conf/logging.properties
java.util.logging.ConsoleHandler.encoding = GBK
而本window系統(tǒng)使用的也是GBK編碼,所以直接使用bat文件啟動(dòng)正常,但是idea上配置的是UTF-8,所以會(huì)出現(xiàn)亂碼
3.解決方法
修改tomcat/conf/logging.properties
java.util.logging.ConsoleHandler.encoding = UTF-8
重新啟動(dòng)idea,啟動(dòng)項(xiàng)目,tomcat日志正常

這個(gè)時(shí)候再用bat命令啟動(dòng),會(huì)出現(xiàn)亂碼,解決方法是將系統(tǒng)的編碼改成UTF-8,各位看官自己看著辦哈~~
2 idea日志出錯(cuò)
1.出現(xiàn)的問題
項(xiàng)目使用log4j輸出日志,日志中出現(xiàn)亂碼
先是修改了log4j的配置文件:log4j.properties
###log4j配置詳解: https://www.cnblogs.com/zhangguangxiang/p/12007924.html
### 配置根 ###
log4j.rootLogger = info,debug,console,dailyFile
### 設(shè)置輸出sql的級別,其中l(wèi)ogger后面的內(nèi)容全部為jar包中所包含的包名 ###
log4j.logger.org.apache=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug
log4j.logger.java.sql.ResultSet=debug
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.encoding=UTF-8
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n
log4j.appender.info=org.apache.log4j.ConsoleAppender
log4j.appender.info.encoding=UTF-8
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n
# 定期滾動(dòng)日志文件,每天都會(huì)生成日志
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyFile.encoding=UTF-8
log4j.appender.dailyFile.Threshold=INFO
# TODO 本地日志地址,正式環(huán)境請務(wù)必切換為阿里云地址
log4j.appender.dailyFile.File=/nzn/logs/itzixi-web/log.log4j
log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n
#log4j.logger.org.mybatis = DEBUG
log4j.logger.com.nzn.mapper=DEBUG
發(fā)現(xiàn)沒有效果,修改idea中tomcat的配置:

還是沒有效果,繼續(xù)折騰
修改idea配置文件:

在這兩個(gè)配置文件下都加上:-Dfile.encoding=UTF-8

仍然沒有效果,直接在idea上修改配置


一開始發(fā)現(xiàn),就算直接修改了idea安裝目錄下的配置文件,上圖中的紅色框框仍然為空,直接手動(dòng)加上,再次重啟,日志顯示正常
總結(jié):
- 遇到問題先不要慌,拍張照發(fā)個(gè)朋友圈
- 拿問題百度的時(shí)候,會(huì)出現(xiàn)一大堆的解決思路,不可以直接無腦的照著一個(gè)個(gè)帖子嘗試,雖然這樣可以省力,但是會(huì)浪費(fèi)很多的時(shí)間
- 需要先對問題進(jìn)行思考,然后有針對性的去修改
- 例如上述問題,tomcat日志亂碼,先是找了網(wǎng)上的帖子,帖子很多都說將java.util.logging.ConsoleHandler.encoding參數(shù)修改成GBK,但是沒說需要和idea的配置相對應(yīng),window系統(tǒng)默認(rèn)是GBK編碼,但是idea不一定,需要根據(jù)idea的配置進(jìn)行設(shè)置。

到此這篇關(guān)于idea日志亂碼和tomcat日志亂碼問題的解決方法的文章就介紹到這了,更多相關(guān)idea日志亂碼和tomcat日志亂碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot自動(dòng)配置特點(diǎn)與原理詳細(xì)分析
這篇文章主要介紹了SpringBoot自動(dòng)配置原理分析,SpringBoot是我們經(jīng)常使用的框架,那么你能不能針對SpringBoot實(shí)現(xiàn)自動(dòng)配置做一個(gè)詳細(xì)的介紹。如果可以的話,能不能畫一下實(shí)現(xiàn)自動(dòng)配置的流程圖。牽扯到哪些關(guān)鍵類,以及哪些關(guān)鍵點(diǎn)2022-08-08
Java Swing組件單選框JRadioButton用法示例
這篇文章主要介紹了Java Swing組件單選框JRadioButton用法,結(jié)合具體實(shí)例形式分析了Swing單選框JRadioButton的使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2017-11-11
Java實(shí)現(xiàn)抽獎(jiǎng)算法的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)抽獎(jiǎng)算法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下2022-04-04
詳解Java并發(fā)工具類之CountDownLatch和CyclicBarrier
在JDK的并發(fā)包中,有幾個(gè)非常有用的并發(fā)工具類,它們分別是:CountDownLatch、CyclicBarrier、Semaphore和Exchanger,本文主要來講講其中CountDownLatch和CyclicBarrier的使用,感興趣的可以了解一下2023-06-06
Java基礎(chǔ)知識精通塊作用域與條件及switch語句
塊(block,即復(fù)合語句)是指由若干條 Java 語句組成的語句,并由一對大括號括起來。塊確定了變量的作用域。一個(gè)塊可以嵌套在另一個(gè)塊中;條件語句、switch語句是我們常見會(huì)用到的結(jié)構(gòu),感興趣的朋友來看看吧2022-04-04

