2016-05-14 483 views
0

最近,我被賦予了在開發和生產環境中增強部署在WebSphere 6.0上的Java應用程序的任務。該代碼有一個錯誤。它正在通過錯誤的名稱訪問數據庫列。代碼捕獲異常,執行printStackTrace()並繼續。WebSphere日誌中沒有出現異常堆棧跟蹤

在開發環境中,我看到WebSphere日誌中異常的堆棧跟蹤,但在生產環境的日誌中沒有看到它們。

我在生產環境中對WebSphere沒有任何管理員權限。我只能看到日誌文件。爲了確保我在兩種環境中運行相同的代碼,我從生產環境(從管理服務器的組中)獲得了EAR文件,並將其部署到開發環境中。

我的問題是,如果我在兩種環境中運行相同的代碼,是否可以在一個環境中看到日誌中的堆棧跟蹤而不是另一個環境中的堆棧跟蹤?

感謝

+0

這是一個可能的解釋http://stackoverflow.com/a/3010106/3215527 – wero

+2

如果出現相同的條件下,這是不可能的一些服務器配置禁止堆棧跟蹤。 – covener

+0

您可以訪問的日誌不是正確的日誌,而是另一臺服務器?它是一個集羣環境嗎? – DanielBarbarian

回答

0

環境是整個系統的行爲相當的決定因素,因此,如果您直接從PROD環境採取.ear文件,你肯定不能在任何其他環境中部署它(例如DEV或UAT),無需在.ear文件和WebSphere中進行多個配置更改。

不過,我認爲這裏的問題可能是日誌級別配置。通常在較低的環境中,我們擁有較高的日誌級別配置,如「all」或「finest」,以便調試所有錯誤,因此您可以看到許多不同的日誌輸入。另一方面,我們有生產環境,應用程序應該在較低環境中進行多次測試後正確運行,因此日誌級別通常會減少到「致命」,「嚴重」或「警告」,以便只獲得重要的錯誤,而不會干擾應用程序/系統性能。 在這兩種環境中檢查日誌級別配置並對它們進行比較,它肯定會有所不同(也許你需要向生產中的管理員權限的人請求幫助,如果你想改變它,則需要更少的幫助)。

與此同時,6.0的WebSphere是出於支持,因爲2010年9月30日;)