控制 JVM 输出、日志、转储和跟踪的位置

在 JVM 服务器中运行的 Java™ 应用程序的输出可以写入 z/OS UNIX 文件。 z/OS UNIX 文件由 JVM 配置文件中的 STDOUTSTDERRJVMLOGJVMTRACE 选项命名,或者路由到 JES 日志。 在 Liberty JVM 服务器中,可以在 messages.log 中相对于配置的日志目录找到 Liberty 服务器输出。

日志和跟踪

默认情况下,在 JVM 服务器中运行的 Java 应用程序的输出会写入 z/OS UNIX 文件系统。 z/OS UNIX 文件系统遵循 $WORK_DIR/APPLID/JVMSERVER 目录结构中的文件名惯例 DATE.TIME.<dfhjvmxxx> 。 可以使用其他覆盖将输出路由到 JES 日志。 有关更多信息,请参阅 使用 DD 语句将 JVM 服务器输出路由到 JES

如果要覆盖缺省值,可以为 STDOUTSTDERRJVMLOGJVMTRACE 选项指定 zFS 文件名。 但是,如果使用固定文件名,那么会将使用此 JVM 概要文件创建的所有 JVM 的输出附加到相同文件。 不同 JVM 的输出将交叉,且无记录头。 此情况对于问题确定无任何用处。

如果定制这些值,那么更好的选择是指定 STDOUTSTDERRJVMLOGJVMTRACE 选项的变量文件名。 然后,可以使这些文件在 CICS 区域的生存期内对每个单独的 JVM 都是唯一的。

您可以使用 APPLID 符号在文件名中包含 CICS 区域 APPLID。

您可以在文件名中包含其他标识信息,包括日期时间符号。
  • DATE 将替换为概要文件在 JVM 服务器启动时解析的日期,格式为 Dyymmdd。
  • TIME 替换为在 JVM 服务器启动时概要文件进行解析的时间,格式为 Thhmmss。
  • JVMSERVER 替换为 JVMSERVER 资源的名称。

6.3 beta 对 USEROUTPUTCLASS 函数的支持已弃用。

可使用 USEROUTPUTCLASS 选项在编程级别实现进一步定制,这不适用于 Liberty。 在 JVM 概要文件中指定的 USEROUTPUTCLASS 选项将命名 Java 类。 Java 类拦截并将输出从 JVM 重定向到定制位置,例如 CICS 瞬时数据队列。 您可以向输出记录添加时间戳记和头,并标识来自在 JVM 中运行的单个事务的输出。 CICS 提供用于执行这些任务的样本类。

转储

JVM 输出的 javacore(也称 Java dump)、堆和捕获跟踪的位置是 z/OS UNIX 上的工作目录,该目录由 JVMSERVERWORK_DIR 选项在 JVM 配置文件中命名。 这些文件由名称中的时间戳记唯一标识。 要覆盖缺省位置和名称,可以使用 -Xdump:directory=<path> 来指定要写入的所有转储类型的位置,并使用 -Xdump:file=<filename> 来指定转储文件名。 有关 -Xdump 的详细信息,请参阅 -Xdump

更详细的 Java 系统转储将写入由 JAVA_DUMP_TDUMP_PATTERN 选项指定的数据集。 您可以使用此值中的 APPLIDDATETIME以及 JVMSERVER 符号来使名称对于各个 JVM 是唯一的,如 CICS随附的样本 JVM 概要文件中所示。 您还可以使用 IEATDUMP 宏支持的 MVS 符号或 JRE 支持的转储代理令牌。 有关转储代理令牌的详情,请参阅 -Xdump;有关 MVS 系统符号的详情,请参阅什么是系统符号? 应确保生成的数据集名称有效,并可由 CICS 区域用户 ID 分配,否则在系统出错时可能会丢失首次故障诊断信息。
注: 术语 系统转储TDUMP 有时可互换使用。 为说明起见, TDUMP 是一种通过 IEATDUMP 生成的 MVS 系统转储,产生 MVS 事务转储。 应注意避免将 MVS 事务转储与 CICS 事务转储混淆。

JVM 在生成 javacore 输出或系统转储时将信息写入 stderr 流。 有关 javacore 输出和系统转储文件内容的更多信息,请参阅故障排除和支持

控制 Java 相关的转储选项

可在 JVM 概要文件中使用 -Xdump 选项来指定 JVM 的转储选项。

有关 Java 相关转储选项的信息,请参阅故障排除和支持