2011-09-01 71 views
2

我有一個奇怪的問題,我的log4j日誌記錄在tcServer上部署,但在WebSphere 6.1上部署時運行。 創建了我在log4j中指定的文件名。但是,即使其他Websphere日誌(SystemOut.log等)也是如此。 我已經檢查了我的WebSphere的主目錄的屬性目錄,並且在那裏沒有衝突的log4j文件。log4j不能在WebSphere中工作

最奇怪的是,它在tcServer上工作正常,所以它不能成爲log4j文件本身的問題。這似乎是一些環境問題。 有沒有人有任何想法如何解決這個問題?

感謝

+0

你是否包含任何使用Commons Logging的庫?你是說你的log4j語句*出現在SystemOut.log中? – dbreaux

+0

@dbreaux - 對我來說,這是系統管理,但不是文件,我錯過了什麼? – AngryJS

+0

@AngryJS看看是否有幫助:http://stackoverflow.com/a/8138477/796761 – dbreaux

回答

2

Log4j和WAS已經好太多的應用工作。所以這個組合並不是什麼新手。你是否使用log4j的任何包裝器(例如Commons Logging)?

打開log4j的調試。

-Dlog4j.debug =對WAS JVM參數爲真。

這將提供有關log4j嘗試執行的操作的信息。

這應該爲WAS環境中發生的情況提供一些線索。

HTH

Manglu

1

我們有一個問題,一會兒回來時,我們安裝在WebSphere一個JCA連接器來了包裝與它自己的log4j庫。由於連接器被加載到容器類加載器層次結構中,因此連接器中的log4j庫有效地覆蓋了我們應用程序中的log4j。它也阻止了我們自己的log4j屬性被加載,因爲log4j已經被引導。

這將是,你也有一些其他庫或資源加載在你的WAS堆棧隨log4j。我們解決它的方式是在我們的應用程序中以編程方式進行顯式的log4j初始化(讀取log4j屬性)。