使用基本消息日志或传统消息日志对应用程序进行故障诊断
WebSphere® Application Server 可以将系统消息写入多个通用日志(包括 JVM 日志、进程日志和 IBM® 服务日志),您可以通过检查这些日志来确定问题。
开始之前
JVM 日志是通过将 JVM 的 System.out 和 System.err 流重定向到独立日志文件创建的。WebSphere Application Server 将格式化的消息写入到 System.out 流。另外,应用程序和其他代码也可以使用这些流所定义的 print() 和 println() 方法来写入这些流。某些开发工具箱的内置功能(例如 Throwable 类的 printStackTrace() 方法)也可以写入这些流。通常,System.out 日志用于监视应用程序服务器的运行是否正常。可以使用 System.out 日志和 System.err 日志进行问题确定。System.err 日志包含异常堆栈跟踪信息,这在执行问题分析时很有用。
install_root/profiles/profile_name/logs/server_name
profile_root/logs/server_name
对于 WebSphere Application Server Network Deployment 配置,由于 Deployment Manager 和每个管理代理程序也代表 JVM,所以还将为他们创建 JVM 日志。
每个应用程序服务器及其所有应用程序都有一组
STDOUT 和 STDERR 日志。由于
Deployment Manager 和每个管理代理程序也代表 JVM,所以也将为他们创建
JVM 日志。
进程日志是通过将进程的 STDOUT 和 STDERR 流重定向到独立日志文件创建的。包括 Java™ 虚拟机 (JVM) 本身在内的本机代码将写这些文件。一般而言,WebSphere Application Server 不写入这些文件。但是,这些日志可能包含与本机代码中的问题相关的信息或者由 JVM 写入的诊断信息。
与 JVM 日志相同,每个应用程序服务器都有一组进程日志,这是因为每个 JVM 都是操作系统进程。对于 WebSphere Application Server Network Deployment 配置,会为 Deployment Manager 和每个管理代理程序都创建一组进程日志。

除了这些通用的日志之外,WebSphere Application Server 还包含特定于特定组件或活动的其他专门日志。例如,HTTP 服务器插件维护一个特殊日志。这些日志通常并不引人注意,但在执行特定的问题确定过程时,我们可能会指示您检查这些日志中的一个或多个。有关如何以及何时查看插件日志的详细信息,请参阅“不显示 Web 资源”主题的“通过应用程序服务器访问 Web 资源并绕过 HTTP Server”子节。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
关于此任务
过程
示例
如何将 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'