2012-08-01 34 views
0

我正在使用JSR 303的Hibernate驗證器實現來驗證我的程序中的一些實體,並且我需要記錄不正確的數據。作爲JSR 303驗證的結果,我可以擁有ConstraintViolation的列表,但它只包含失敗驗證的元數據。違規值本身在任何地方都無法登錄(我必須將約束違規映射回可怕的實體)。如何設置log4j來記錄違反JSR 303驗證的值?

我在Hibernate的ConstraintTree類中發現了一個跟蹤日誌,它記錄了所有驗證的值,但這對我來說是無用的(我不知道哪一個失敗了)。

是否有一些神奇的記錄器名稱觸發記錄失敗的驗證值?

回答

2

ConstraintViolation.getInvalidValue()不會返回您需要的值嗎?

順便說一句,休眠(自4.0.0)和休眠驗證器(自4.3。)使用jboss-logging而不是log4j

+0

謝謝,謝謝,謝謝,我沒有注意到那個接口方法,對我很恥辱。 – 2012-08-02 08:53:19