日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

log4j 控制台和文件输出乱码问题解决

發(fā)布時(shí)間:2024/7/23 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 log4j 控制台和文件输出乱码问题解决 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來(lái)源:http://www.coderli.com/log4j-console-file-garbled

一個(gè)小問(wèn)題,卻讓我感覺(jué)到,現(xiàn)在真正動(dòng)腦的人很少。。我來(lái)說(shuō)說(shuō)吧。 今天遇到一個(gè)小問(wèn)題,log4j輸出到文件亂碼,控制臺(tái)正常。顯然是編碼問(wèn)題導(dǎo)致。Google一搜,幾乎一水的說(shuō): 項(xiàng)目中l(wèi)og4j在英文版linux下輸出中文日志為亂碼。由于log4j配置文件中沒(méi)有設(shè)置編碼格式(encoding),所以log4j就使用系統(tǒng)默認(rèn)編碼。導(dǎo)致亂碼。解決方法是設(shè)置編碼格式UTF-8,方法為:log4j.appender.syslog.encoding=UTF-8這顯然是轉(zhuǎn)的,因?yàn)槿W(wǎng)幾乎一樣。這是properties配置的,還不是xml的。如果要xml的,配置如下:
<appender name="A1" class="org.apache.log4j.RollingFileAppender"> <param name="Encoding" value="UTF-8" /> <param name="File" value="all.log" /> ...... </appender>

但是,我是已經(jīng)設(shè)置成UTF-8,而亂碼了。所以,上述答案是不嚴(yán)謹(jǐn)?shù)摹?/span>

先說(shuō)說(shuō)筆者的情況吧,其實(shí)筆者的問(wèn)題很簡(jiǎn)單,兩套log4j appender配置,一個(gè)輸出的文件,一個(gè)控制臺(tái),文件的配置了utf-8編碼,控制臺(tái)沒(méi)配置。現(xiàn)象,控制臺(tái)正常,文件亂碼。
-------------------------------------------

把文件的改成gbk,不亂了。控制臺(tái)改成gbk,亂碼。控制臺(tái)改成utf-8,正常。到這里你可能糊涂了。怎么這么亂? 其實(shí)道理很簡(jiǎn)單,亂碼,自然是編碼不匹配。什么匹配?log4j用utf-8輸入,你文件是不是utf-8接受的呢?檢查一下,果然不是,改成utf-8編碼,解決。 你可能要問(wèn)了,那控制臺(tái)的匹配在哪里?Eclipse控制臺(tái)也有是編碼的,我想你應(yīng)該知道。Eclipse控制臺(tái)是有編碼,而且,不僅僅是有,你還可以為每個(gè)執(zhí)行的程序,設(shè)置獨(dú)立的編碼。 自然,這里的編碼匹配了,也就不會(huì)亂碼了。 參考二: http://www.blogjava.net/andy199999/articles/176221.html

手頭的項(xiàng)目用LOG4J做日志的輸出處理,可不知怎么了,最近輸出的日志內(nèi)容里面居然出現(xiàn)了亂碼——問(wèn)號(hào),而且比較郁悶的是,從另一個(gè)類(lèi)的屬性里面讀出的中文確可以正常顯示,試了各種辦法,如給日志增加一項(xiàng)ENCODE為GBK,UTF-8,均不能解決此問(wèn)題,突然想到會(huì)不會(huì)是JAVA源文件的問(wèn)題了???

想到前此因?yàn)樵贛YECLIPSE里面看中文是亂碼,我曾經(jīng)調(diào)整過(guò)CONTENT TYPES(即window->preferences->general->content types),更改過(guò)text的編碼格式,即default encode,檢查之下,果然如此,于是我把默認(rèn)的JAVA SOURCES源下的GBK給刪除了,然后重新編譯,亂碼問(wèn)題解決,呵呵,放在此處,供有心之人在遇到此類(lèi)問(wèn)題的時(shí)候提個(gè)醒:)

總結(jié)

以上是生活随笔為你收集整理的log4j 控制台和文件输出乱码问题解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。