JVM 日志解释
查看 JVM 日志文件以确定应用程序环境中的问题。
JVM 日志包含由应用程序写入的记录数据。应用程序可以直接以 System.out.print() 和 System.err.print() 格式或者通过其他方法调用来写入此数据。应用程序也可以通过调用 JVM 函数,如 Exception.printStackTrace() 间接写数据。另外,System.out JVM 日志包含 WebSphere® Application Server 所写入的系统消息。
如果您允许应用程序服务器格式化应用程序数据,那么会以常规 z/OS® 跟踪格式记录应用程序数据。如果不允许应用程序服务器对应用程序数据进行格式化,那么会记录原始文本,这将更难分析。
注: 您可以将 WebSphere Application Server
V9.0 的日志和跟踪文件中使用的线程标识配置为 java.util.logging.LogRecord 中线程标识的十六进制表示法,或配置为 java.lang.Thread 中线程标识的十六进制表示法。将 Java™ 系统属性 com.ibm.websphere.logging.useJULThreadID 设置为 true 以让线程标识匹配 java.util.logging.LogRecord 线程标识。将此系统属性设置为 false 以让线程标识匹配 java.lang.Thread 线程标识。如果未指定此系统属性,那么线程标识与 java.lang.Thread 线程标识匹配。
可以使用 JVM 日志属性面板的“已安装应用程序输出”字段,将应用程序数据格式化成类似于 WebSphere Application Server 系统消息,也可以将其格式化成不带任何格式的纯文本。WebSphere Application Server 系统消息始终会进行格式化。根据 JVM 日志是如何配置的,格式化的消息可以用基本或高级格式写入 JVM 日志。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
消息格式
格式化的消息可以使用这两种格式中的一种写入 JVM 日志:
- 基本格式
- 在较早版本的 WebSphere Application Server 中使用此格式。
- 高级格式
- 如果可能,那么通过添加有关事件的信息来扩展基本格式。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
基本和高级格式字段
基本和高级格式使用很多相同的字段和格式化技术。可能找到的采用这些格式的各种字段如下:
- TimeStamp
- 时间戳记是使用进行格式化的进程语言环境来格式化的。它包含标准日期(例如,YYMMDD),以毫秒为精度的 24 小时时间和时区。
- ThreadId
- 从发出消息的线程的散列码生成的 8 个字符的十六进制值。
- ThreadName
- 发出消息或跟踪事件的 Java 线程的名称。
- ShortName
- 发出消息或跟踪事件的记录组件的缩写名称。这通常是 WebSphere Application Server 内部组件的类名,但对于用户应用程序,可以是一些其他标识。
- LongName
- 发出消息或跟踪事件的记录组件的全名。这通常是 WebSphere Application Server 内部组件的标准类名,但对于用户应用程序,可以是一些其他标识。
- EventType
- 表明消息或跟踪事件类型的一个字符字段。消息类型是大写的。可能值包括:
- F
- 致命消息。
- E
- 错误消息。
- W
- 警告消息。
- A
- 审计消息。
- I
- 参考消息。
- C
- 配置消息。
- D
- 详细信息消息。
- O
- 通过用户应用程序或内部组件直接写入 System.out 的消息。
- R
- 通过用户应用程序或内部组件直接写入 System.err 的消息。
- Z
- 表明不可识别的类型的占位符。
- ClassName
- 发出消息或跟踪事件的类。
- MethodName
- 发出消息或跟踪事件的方法。
- 组织
- 拥有发出消息或跟踪事件的应用程序的组织。
- 产品
- 发出消息或跟踪事件的产品。
- 组件
- 发出消息或跟踪事件的产品内的组件。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
基本格式
以基本格式显示的消息事件使用下列格式。符号 <name> 表明将总是在基本格式消息中出现的必需字段。符号 [name] 表明将被包括的可选的或有条件的字段(如果可以确定这些字段的话)。
<timestamp><threadId><shortName><eventType>[className][methodName]<message>
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
高级格式
以高级格式显示的消息事件使用下列格式。表示法 <name> 用于表明将总是以消息条目的高级格式出现的必需字段。表示法 [name] 用于表明将被包括的可选的或有条件的字段(如果可以确定它们的话)。
<timestamp><threadId><eventType><UOW><source=longName>[className] [methodName]<Organization><Product><Component> [thread=threadName]<message>
![[z/OS]](../images/ngzos.gif)
错误日志条目的格式
1| 2005/03/02 17:31:17.641 01 t=8FB718 c=UNK key=S2 (13007002)
2| ThreadId: 0000004e
3| FunctionName: com.ibm.ws.sm.workspace.impl.WorkSpaceManagerImpl
4| SourceId: com.ibm.ws.sm.workspace.impl.WorkSpaceManagerImpl
5| Category: AUDIT
6| ExtendedMessage: BBOO0222I: WKSP0023I: Workspace configuration consistency check is disabled.
行号 | 组件 | 描述 |
---|---|---|
1 | 2005/03/02 17:31:17.641 01 | 日期/时间戳记/两位数记录版本号 |
1 | t=8FB718 | MVS™ TCB(线程)地址 |
1 | c=UNK | 请求关联信息 |
1 | key=S2 | 状态/密钥(S = 管理程序,P = 问题) |
1 | (13007002) | 跟踪点标识 |
2 | ThreadId: 0000004e | 线程标识 (TID) |
3 | FunctionName: com.ibm.ws.sm.workspace.impl.WorkSpaceManagerImpl | 函数名 |
4 | SourceId: com.ibm.ws.sm.workspace.impl.WorkSpaceManagerImpl | 源标识 |
5 | Category: AUDIT | 类别 |
6 和 7 | ExtendedMessage: ... | 日志消息 |