使用基本消息日志或传统消息日志对应用程序进行故障诊断

WebSphere® Application Server 可以将系统消息写入多个通用日志(包括 JVM 日志、进程日志和 IBM® 服务日志),您可以通过检查这些日志来确定问题。

开始之前

JVM 日志是通过将 JVM 的 System.outSystem.err 流重定向到独立日志文件创建的。WebSphere Application Server 将格式化的消息写入到 System.out 流。另外,应用程序和其他代码也可以使用这些流所定义的 print()println() 方法来写入这些流。某些开发工具箱的内置功能(例如 Throwable 类的 printStackTrace() 方法)也可以写入这些流。通常,System.out 日志用于监视应用程序服务器的运行是否正常。可以使用 System.out 日志和 System.err 日志进行问题确定。System.err 日志包含异常堆栈跟踪信息,这在执行问题分析时很有用。

由于每个应用程序服务器都表示一个 JVM,所以每个应用程序服务器以及它的所有应用程序都有一组 JVM 日志。在缺省情况下,这些日志在以下目录中:
  • [AIX Solaris HP-UX Linux Windows][z/OS]install_root/profiles/profile_name/logs/server_name
  • [IBM i]profile_root/logs/server_name

对于 WebSphere Application Server Network Deployment 配置,由于 Deployment Manager 和每个管理代理程序也代表 JVM,所以还将为他们创建 JVM 日志。

[z/OS]每个应用程序服务器及其所有应用程序都有一组 STDOUTSTDERR 日志。由于 Deployment Manager 和每个管理代理程序也代表 JVM,所以也将为他们创建 JVM 日志。

进程日志是通过将进程的 STDOUTSTDERR 流重定向到独立日志文件创建的。包括 Java™ 虚拟机 (JVM) 本身在内的本机代码将写这些文件。一般而言,WebSphere Application Server 不写入这些文件。但是,这些日志可能包含与本机代码中的问题相关的信息或者由 JVM 写入的诊断信息。

与 JVM 日志相同,每个应用程序服务器都有一组进程日志,这是因为每个 JVM 都是操作系统进程。对于 WebSphere Application Server Network Deployment 配置,会为 Deployment Manager 和每个管理代理程序都创建一组进程日志。

不推荐使用的功能部件 不推荐使用的功能部件: IBM 服务日志包含写入 System.out 流的 WebSphere Application Server 消息和一些包含扩展服务信息的特殊消息,您通常对这些信息不感兴趣,但是在分析问题时可能非常重要。节点上的所有 WebSphere Application Server JVM(包括所有应用程序服务器)都有服务日志。IBM 服务日志以二进制格式进行维护,并且必须使用特殊工具进行查看。此查看器(即记录和跟踪分析器)提供了其他诊断功能。另外,二进制格式提供了由 IBM 技术支持使用的能力。depfeat

除了这些通用的日志之外,WebSphere Application Server 还包含特定于特定组件或活动的其他专门日志。例如,HTTP 服务器插件维护一个特殊日志。这些日志通常并不引人注意,但在执行特定的问题确定过程时,我们可能会指示您检查这些日志中的一个或多个。有关如何以及何时查看插件日志的详细信息,请参阅“不显示 Web 资源”主题的“通过应用程序服务器访问 Web 资源并绕过 HTTP Server”子节。

[AIX Solaris HP-UX Linux Windows]注: 只有 WebSphere Application Server for z/OS® 才支持系统日志 (SYSLOG)。WebSphere Application Server 记录功能不利用操作系统日志(z/OS 除外)。
[z/OS]注: 在 z/OS 上,会将 System.outSTDOUT 流重定向到 DDname SYSPRINT。在 z/OS 上,会将 System.errSTDERR 流重定向到 DDname SYSOUT。缺省情况下,WebSphere Application Server for z/OS 编目过程使这些 ddname 与打印 (SYSOUT=*) 数据集相关联,从而使消息日志转入 WebSphere Application Server 作业输出。您可以使用“假脱机显示和搜索工具”(SDSF) 或等效的软件来查看作业输出。

关于此任务

有时,可以通过检查 WebSphere Application Server 的日志输出来诊断服务器和应用程序问题。

过程

确定要实现的日志类型:

示例

如何将 SYSPRINT 和 SYSOUT 输出定向到 HFS 文件。

如果您熟悉 UNIX 或 Windows 环境,那么可能不愿意使用 SDSF(或 IOF)工具来查看来自服务方的 SYSPRINT 和 SYSOUT 输出。如果您宁愿在 Telnet 会话中使用熟悉的编辑器(例如 vi)查看输出,那么可以将 SYSPRINT 和 SYSOUT 输出重定向到 HFS 中的文件。

以下 JCL 示例显示了如何在启动过程中修改 SYSPRINT DD 卡以便将输出重定向到 HFS 文件。旧的 SYSPRINT DD 卡片已通过在其前面添加 /* 来注释掉,而新的 SYSPRINT DD 卡片指向“/myDir/myServer”目录中的某个文件(在此示例中,该文件命名为 was.log.d&LYYMMDD..t&LHHMMSS.log)。日期变量和时间变量之间多出的句点不是排版错误,而是 JCL 语法的实例,它是终止第一个变量所必需的。&LYYMMDD 将由 YYMMDD 格式的本地日期替换,&LHHMMSS 将由 HHMMSS 格式的本地时间替换。PATHMODE 子参数将文件方式设置为 775,而 PATHOPTS 子参数 OWRONLY 打开文件以供写访问。子参数 OCREAT 指示如果该文件尚未存在,那么创建它。

可以在服务方或控制器启动过程中修改 SYSPRINT DD 卡片。此外,还可以用相同的方法来修改 SYSOUT DD 卡片以重定向 SYSOUT 输出。

//*YSPRINT  DD SYSOUT=*,SPIN=UNALLOC,FREE=CLOSE
//SYSPRINT  DD PATHMODE=(SIRWXU,SIRWXG,SIROTH),
//   PATHOPTS=(OWRONLY,OCREAT),
//   PATH='/myDir/myServer/was.log.d&LYYMMDD..t&LHHMMSS'
注: 如果尝试将多个流的输出导向同一文件,如设置 DEFALTDD 和 HRDCPYDD 变量,那么 HRDCPYDD 文件的分配将失败,并且输出将被发送至缺省位置 (JOBLOG/SYSLOG)。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_mglogs
文件名:ttrb_mglogs.html