2015-02-09 70 views
1

最近將我們的大型項目從傑克遜1.9升級到2.1。一切工作正常,除非你運行一些測試,很多調試代碼在控制檯輸出。這打破了需要0個調試輸出的記錄器測試。我環顧四周,看起來似乎找不到解決方案或其他遇到類似問題的人。從JACKSON 1.9-> 2.1升級輸出大量調試日誌

前幾行:

[調試]屬性com.sun.xml.internal.bind.XmlAccessorFactoryis不活躍。使用JAXB的實現

[DEBUG]使用優化的訪問器保護的java.util.List com.sun.research.ws.wadl.Request.doc

[DEBUG]使用優化的訪問器保護的java.util.List com.sun.research.ws.wadl.Doc.content

[DEBUG]使用優化的訪問器保護java.lang.String中com.sun.research.ws.wadl.Doc.title

任何想法?

Regards

+0

我做搜索: 'xmlaccessorfactory', 'JAXB' ,'accessor','wadl'和'research'在我們的項目中。沒有匹配任何這些單詞。 – fl0shizzle 2015-02-09 16:32:39

+0

您能不能簡單地將記錄器的日誌級別設置爲INFO? – BretC 2015-02-09 16:38:56

+0

正在中斷測試,在INFO級別測試DEBUG日誌的數量爲0.因爲這些[DEBUG]行幾乎在每個運行時輸出,所以計數超過0,因此測試中斷。我需要一種專門抑制這些特定日誌的方法,修復根本原因。 – fl0shizzle 2015-02-09 16:43:36

回答

0

解決方案位於logback.xml文件中,該文件定義了我們的日誌記錄級別。傑克遜的升級版使用了了com.sun.xml不同的封裝位置,所以不得不改變:

<logger name="com.sun.xml.bind" level="${log.level:-info}" /> 

到:

<logger name="com.sun.xml.internal.bind" level="${log.level:-info}" /> 
0

這聽起來像是GlassFish或Jersey可能產生的東西。傑克遜不輸出這樣的調試信息;它不使用記錄器或在System.err或System.out中打印任何內容。