簡體   English   中英

更改 WAS 7 上特定 Web 應用程序的 System.out.println 輸出目標

[英]Changing the System.out.println output destination for a specific web application on WAS 7

我在 IBM Websphere 7 上部署了非常大的 Java Web 應用程序,所有異常捕獲塊都使用 System.out.println 來記錄異常,部署在 WAS 配置文件上的所有應用程序的 System.out.println 的所有輸出都打印在WAS SystemOut.log 文件。

我需要將 WAS 上的每個應用程序記錄到不同的日志文件而不是 SystemOut.log。

Log4j 未與應用程序集成,啟用它需要很長時間。

是否有任何技術可以為 WAS 上的每個應用程序更改 System.out.println 的輸出目標?

所有異常捕獲塊都使用 System.out.println 來記錄異常

不要這樣做! 使用日志框架。

Log4j 未與應用程序集成,啟用它需要很長時間。

好吧,然后找到構建如此糟糕應用程序的人並讓他實施必要的更改。

在這個回答的線程中,解決方案取決於覆蓋 System 類的 out 對象以使用 log4j appender,我認為這是一個好主意

標准輸出錯誤日志

正如對您的問題的評論所指出的那樣,您可以更改 System.out 和 System.err 在全球范圍內的位置,但是如果您想在每個應用程序的基礎上進行更改,我能想到的唯一解決方案是使用AOP 框架(如 AspectJ)攔截相關類中的所有 println 調用,並將它們定向到特定於相關類的記錄器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM