2010-07-01 177 views
0

我們正在使用log4j進行日誌記錄功能。該應用程序正在羣集環境中運行。我如何配置log4j屬性,使所有實例都記錄到同一個日誌文件中?在集羣環境中配置log4j

+0

沒有足夠的信息。 「集羣環境」是什麼意思? – skaffman 2010-07-01 13:28:42

+0

羣集是跨多臺機器分配服務器工作負載的概念。這些是運行相同應用程序的實例是不同的機器或換句話說不同的JDK。我想爲集羣中的所有實例建立一個集中的日誌文件。 – Mithun 2010-07-01 13:52:18

+0

是的,我們知道聚類的意思。我們需要知道什麼樣的聚類,這可能意味着十幾個不同的事情。聚類是一個複雜的情況,你不能用3個簡短的句子問一個有意義的問題。 – skaffman 2010-07-01 14:13:33

回答

0

一個解決方案是有一個專門用於記錄的目錄。該目錄可以位於安裝到兩個進程相同位置的網絡共享(NFS等)上。這可以像安裝到文件結構中的相同位置一樣簡單,或者可以使用環境變量($ LOGDIR)完成,因此每個主機都可以指向本地文件結構中的不同位置。

重要的是共享文件夾,以便多個進程寫入同一個文件。正常的共享資源限制適用於;確保文件未被一臺主機鎖定,同時阻止其他人寫入等。另外,使用包含主機名/進程名/線程ID的輸出模式。

我用過的另一種方法是寫入日誌表的數據庫appender。不需要共享,但您仍然需要考慮多進程日誌記錄的問題來設計表格。