2013-06-20 20 views
2

我的客戶運行使用H2作爲嵌入式數據庫的桌面產品。他們在許多不同的地區。在我從客戶收到的崩潰報告中,H2例外報告以不同的語言顯示。我希望這些消息始終以英文顯示。我怎樣才能做到這一點?如何強制H2例外信息爲英文?

例如,我在崩潰報告收到此今天:

java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.barbarysoftware.c.b.g: PreparedStatementCallback; SQL []; Division durch 0: "0" 
Division by zero: "0"; SQL statement: 

這部分是在德國。我希望它完全是英文的。

謝謝!

+0

嘗試使用JVM開關啓動您的應用程序:'-Duser.language = en' –

+0

這將改變所有內容的語言環境。我只想在英文中記錄h2異常消息,並在崩潰報告中發送,而不是發送給最終用戶。 –

+0

使用'-Duser.language'(或'-Duser.locale')查看H2的源代碼似乎是您唯一的選擇。它使用「硬連線」調用'Locale.getDefault()。getLanguage()'來確定錯誤消息的語言。我認爲唯一的另一種方法是從h2 jar文件中刪除本地化的消息。 –

回答

1

對不起,目前沒有辦法做到這一點。錯誤消息已本地化。信息之所以用英文列出,是因爲有時英文更清晰。

如果你不喜歡這種行爲,那麼添加一個數據庫設置來禁用它(只使用英文消息)呢?補丁歡迎!