控制 JVM 输出、日志、转储和跟踪的位置
在 JVM 服务器中运行的 Java™ 应用程序的输出可以写入 z/OS UNIX 文件。 z/OS UNIX 文件由 JVM 配置文件中的 STDOUT、 STDERR、 JVMLOG 和 JVMTRACE 选项命名,或者路由到 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。
如果要覆盖缺省值,可以为 STDOUT, STDERR, JVMLOG和 JVMTRACE 选项指定 zFS 文件名。 但是,如果使用固定文件名,那么会将使用此 JVM 概要文件创建的所有 JVM 的输出附加到相同文件。 不同 JVM 的输出将交叉,且无记录头。 此情况对于问题确定无任何用处。
如果定制这些值,那么更好的选择是指定 STDOUT, STDERR, JVMLOG和 JVMTRACE 选项的变量文件名。 然后,可以使这些文件在 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 上的工作目录,该目录由 JVMSERVER 的 WORK_DIR 选项在 JVM 配置文件中命名。 这些文件由名称中的时间戳记唯一标识。 要覆盖缺省位置和名称,可以使用 -Xdump:directory=<path> 来指定要写入的所有转储类型的位置,并使用 -Xdump:file=<filename> 来指定转储文件名。 有关 -Xdump 的详细信息,请参阅 -Xdump。
JVM 在生成 javacore 输出或系统转储时将信息写入 stderr 流。 有关 javacore 输出和系统转储文件内容的更多信息,请参阅故障排除和支持。
控制 Java 相关的转储选项
可在 JVM 概要文件中使用 -Xdump 选项来指定 JVM 的转储选项。
有关 Java 相关转储选项的信息,请参阅故障排除和支持。