WebSphere 日志记录到自定义文件

WebSphere logging to customized files

我们有一个 Web 应用程序,我们需要记录发生的错误 AppNameError.log

根据我阅读的内容:

http://www-01.ibm.com/support/knowledgecenter/#!/SSAW57_8.0.0/com.ibm.websphere.nd.doc/info/ae/ae/rtrb_enabletrc.html?cp=SSAW57_8.0.0%2F1-16-5-1103

http://www-01.ibm.com/support/knowledgecenter/#!/SSHRKX_8.5.0/mp/trouble/adsyslog.dita

我的理解是我可以登录到SystemOut.log或trace.log。

WebSphere 是否提供一种机制来记录到我可以在服务器目录中创建的自定义文件。?

我可以根据 worklight 服务器中的每个应用程序进行登录吗?

例如:

我的项目1 >>>>>> MyProject1.log

我的项目2 >>>>>> MyProject2.log

WebSphere 版本 8.5.5.1

据我所知,您可以更改标准日志的位置,但不能根据某些过滤条件写入多个日志。为此,我认为您必须在您的应用程序中构建自己的日志记录实用程序。

如果您的应用程序的每个日志条目都以 "myAppLogEntry:" 之类的标记开头,那么很容易从标准日志中提取这些条目。

您有多种选择,或多或少可以帮助您获得想要的结果。

1) WebSphere 内部使用 JUL 和 Jakarta Commons,所以你可以自定义它,但它有点复杂。参见 Adding logging and tracing to your application

2) 使用像 log4j 这样的外部记录器 - 在此处查看更多基本信息 - WAS Logging - Java Util Logging and Log4j

3) 使用自 WAS 8.0 以来可用的新 HPEL 日志记录。虽然它不会为每个应用程序创建日志,但您可以随时使用 logViewer 查询给定应用程序的日志消息,就像这样(您也可以使用 -monitor 标志来使用类似尾巴的行为):

logViewer -includeExtensions appName=PlantsByWebSphere

它还允许您做一些更好的事情,例如仅显示来自给定线程的消息等。并且完全集成在管理控制台中。

我建议至少尝试一下,也许它会满足您的需求。

这里有更多详细信息: