2011-08-22 124 views
0

我們使用連接到一個OpenEJB服務器容器的OpenEJB客戶端。 OpenEJB服務器由Corosync和Pacemaker管理,用於故障切換操作。每當OpenEJB實例發生故障(由網絡,硬件,JVM或其他問題引起)時,Corosync + Pacemaker會在另一臺計算機上啓動另一個OpenEJB服務器實例。這個過程相對較快,所以這對我們的用例來說不是問題。如何配置OpenEJB客戶端日誌記錄?

儘管OpenEJB提供了本機故障轉移機制,但我們仍然選擇使用我們自己的機制來管理它,因爲這樣我們可以更好地控制客戶端。一切都按預期工作,除了客戶端日誌過於冗長之外。我們想要麼將其關閉或以禁用連接失敗消息,像這樣的微調是:

22/08/2011 14時06分23秒org.apache.openejb.client.StickyConnectionStrategy連接 AVISO:故障切換:無法連接到服務器:ejbd://192.168.1.5:4201例外:無法連接到服務器'ejbd://192.168.1.5:4201'。檢查服務器是否已啓動並且指定的serverURL是否正確。請嘗試下一步。

我已經試圖在OpenEJB客戶端中減少log4j的日誌級別,但是我失敗了。根據the log4j documentationthis post它應該是將所需級別設置爲「錯誤」或「致命」的問題。問題是,什麼是類別名稱?

我已經嘗試過:

  • p.put( 「log4j.category.OpenEJB.client」, 「錯誤」);
  • p.put(「log4j.category.OpenEJB」,「error」);

但沒有任何改變。那麼,我需要使用哪些屬性來關閉這些WARN消息?

回答

0

只是把信息放在一起。爲了控制OpenEJB客戶端的日誌記錄機制,必須配置常規的Java Logger:

//Get the logger 
Logger logger=Logger.getLogger("OpenEJB.client"); 

//Change its behavior... 
logger.setLevel(Level.SEVERE); 

就是這樣。

1

客戶端使用java.util.logging,因此應該通過任何與之相關的機制進行配置。

+0

我找不到記錄器的名稱... –

+0

沒關係。在快速瀏覽OpenEJB的源代碼後,我發現它:「OpenEJB.client」。 –