日志记录

日志记录直接从用户应用程序或代表用户应用程序从 CICS® 管理程序写入日志流。

可以使用 WRITE JOURNALNAME API 命令从用户应用程序写入日志记录。 您可以使用 SET JOURNALNAME SPI 命令从应用程序启用或禁用日志。

通过日志流中的 MVS 子系统接口(SSI)LOGR,可访问日志记录的数据。 现有用户程序可以读取常规日志流,前提是您在批处理作业 JCL 中指定日志流的 DD 上的 SUBSYS 参数和支持选项。 如果在 SUBSYS 参数上指定 LOGR 子系统名称,那么 LOGR 可以拦截 SSI 上的数据集打开和读取请求,并将它们转换为日志流访问。

根据 SUBSYS 参数上指定的选项,常规日志流日志记录以两种方式之一显示:
  • 在 CICS/ESA 4.1 和更低版本上使用的记录格式中,为了与较旧的实用程序兼容 (由 COMPAT41 选项选择)
  • 对于需要访问日志记录信息的较新实用程序或已升级实用程序,采用 CICS Transaction Server for z/OS® 格式。

CICS 系统日志记录仅以 CICS Transaction Server for z/OS 格式提供,因此您必须确保在 CICS Transaction Server for z/OS 之前处理发行版中系统日志记录的任何实用程序都将转换为处理此格式。

用户编写的程序可以脱机读取日志记录。 您可以通过在程序代码中包含某些语句来生成此类程序所需的 DSECT:
  • 对于常规日志上 CICS Transaction Server for z/OS 格式的记录,脱机用户编写的程序可以通过包含 INCLUDE DFHLGGFD 语句来映射日志记录。 此语句生成 DSECT 的汇编程序版本。
  • 对于使用 COMPAT41 选项格式化的记录,脱机用户编写的程序可以通过发出 DFHJCR CICSYST = YES 语句来映射日志记录,这将导致 DFHJCRDS DSECT 包含在程序中。

    生成的 DSECT 与通过 COPY DFHJCRDS 语句为 CICS 程序获取的 DSECT 相同。 唯一的区别是字段前面没有 CICS 存储记帐区域。 DSECT 旨在将日志记录直接映射到块中,而不是映射到 CICS 存储区中。