2012-03-02 117 views
2

我想格式化一些java日誌記錄通過屬性文件,但它不工作。 我在性這幾行文件:格式化Java日誌記錄

java.util.logging.ConsoleHandler.formatter=mypackage.logging.LogFormatter 
java.util.logging.FileHandler.formatter=mypackage.logging.LogFormatter 

在我的自定義格式LogFormatter是mypackage.logging

日誌輸出顯示該SimpleFormatter正在被使用,而不是我的自定義格式。

如何讓我的自定義格式化程序通過日誌記錄屬性文件使用?

編輯: 我已經嘗試了所有的預製格式化如com.bea.logging.LogMessageFormatter,SimpleFormatter和XmlFormatter。他們工作得很好。這只是我創建的任何新格式化程序都不起作用(擴展格式化程序)。這可能是類路徑問題嗎?

回答

0

LogManager將向System.err報告錯誤,該錯誤可能被重定向到日誌文件。找到該日誌文件應該幫助你。

如果您正在處理從system class loader不可見的任何班級,您將遇到JDK-6448699 LogManager does not load log handler correctlyJDK-6878454 LogManager class loading inconsistent with Java EE best practices

爲了證明你的格式化可見從系統類路徑試試下面的代碼:

Class.forName("mypackage.logging.LogFormatter", true, ClassLoader.getSystemClassLoader()); 

您可以將sun.misc.URLClassPath.debug系統屬性設置爲true或使用上推出了-verbose:class得到的類加載一些更多的調試信息。

相關問題