0
我們在生產環境中遇到了一個問題。 在開始記錄之前,使用log4j生成的文件在文件開始處附加了一些特殊字符。 這產生了一個二進制文件,它使Splunk等工具無法訪問這些文件,因爲它需要文本文件。Log4j在文件開頭記錄了一些二進制信息
請幫助我可能是這裏的問題。
我們在生產環境中遇到了一個問題。 在開始記錄之前,使用log4j生成的文件在文件開始處附加了一些特殊字符。 這產生了一個二進制文件,它使Splunk等工具無法訪問這些文件,因爲它需要文本文件。Log4j在文件開頭記錄了一些二進制信息
請幫助我可能是這裏的問題。
根據Google的說法,我最好的猜測是您使用的是我在此處閱讀的GC日誌(JVM垃圾收集器日誌):https://developer.jboss.org/message/529671#529671和這裏:https://developer.jboss.org/thread/148848?tstart=0&_sscc=t。
根據之前鏈接的頁面,似乎沒有真正的解決方案,除了可能使用正確的ASCII編碼+正確的語言環境組合。
既然你說過,在你的問題中,你在生產環境中有這個問題,我可能會建議你簡單地禁用生產中的GC日誌,因爲你不應該在生產中這樣做(使GC日誌具有性能/存儲影響)。在您的JVM啓動選項中,查找類似-XX:+PrintGC
或-verbose:gc
的內容。
正在放什麼角色?它是一個字節順序標記(BOM)? –
這些字符是「^ @^@^@^@」 –
您使用的是哪個log4j版本?你可以在這裏發佈你的log4j配置文件和/或你使用的模式嗎? – xav