第四十二章 构建数据库应用程序 - 在ISCLOG中启用日志
要解决CSP
问题,请通过在终端中输入以下命令来启用Caché
的日志记录:
Set ^%ISCLOG = 2 复制代码
可以在^ISCLOG
全局数据库中查看日志记录信息。它在Caché
中记录事件,以供调试使用。作为参考,日志级别如下:
- 0 —
Caché
不执行日志记录。 - 1 -
Caché
仅记录异常事件(如错误消息)。 - 2 —
Caché
记录详细信息,例如用参数X
、Y
、Z
调用的方法ABC
,返回1234
。 - 3 -
Caché
记录原始信息,如从HTTP
请求接收的数据。
可以使用以下任一选项关闭缓存记录
Set ^%ISCLOG = 0 复制代码
Kill ^%ISCLOG 复制代码
在ISCLOG
中,一些条目与事件日志头字段匹配,如下所示:
ISCLOG | Event Log |
Job | Cache-PID |
SessionId | Session-ID |
Tag | Request-ID |
下表显示了ISCLOG中的字段和定义。
ISCLOG Fields
Field | Definition |
%category |
CSPServer : Logged from cspServer , cspServer2 , %request , %response. CSPSessionLogged 来自%session 以及处理会话的cspServer 和cspServer2 的一部分。这允许观察会话的生命周期。CSPLicenseLogged 来自cspServer 和cspServer2 中处理许可的部分。 Gateway RequestLogged 来自GatewayMgr 、GatewayRegistry 、Gateway 请求处理程序以及cspServer2 中处理网关请求的部分。 |
%level |
1=异常和错误 。2 = CSPSession 信息。CSPLicense 信息。来自cspServer 的信息:设置了%response 、%session 和%request 之后的请求处理部分。这包括身份验证、许可证处理、重定向和调用CSPpage 。3= 来自cspServer2 的信息:处理请求的部分,它建立了%response , %session , %request ,和CSP 网关握手/数据传输。 |
%job |
发出ISCLOG 请求时$job 的值。匹配事件日志头中的Cache-PID 字段。%sessionid 可用时输入。sessionid 在发出ISCLOG 请求时的值。匹配事件日志头中的Session-ID 字段。 |
%tag |
对于CSP 服务器,标记包含来自网关的请求id (当可用时)。这与来自Event Log 头的Request-ID 字段匹配。其他记录器可以将此值设置为任何值。可供ISCLOG 条目的创建者使用。存储CSP 网关发送给它的请求的ID 。它可以用作ISCLOG 条目生成的过滤器。Set ^%ISCLOG("Tag","mytagvalue1")=1 Set ^%ISCLOG("Tag","mytagvalue2")=1 只有不带标记或带有“mytagvalue1” 或“mytagvalue2” 标记的ISCLOG 请求才会被记录。 |
%routine |
当前正在执行的例程的名称。 |
%message |
参见下面的消息格式格式。 |
消息格式
消息以当前正在执行的标记标签或方法的名称开始。 这个名字用方括号括起来。 [MyMethod]
其余的消息。
CSPSession
类别中的消息在方法名后面也有CSPSession- id =sessid
。 这是必需的,因为会话事件可以在会话创建之前或在会话被销毁之后被记录,这意味着ISCLOG
条目中的SessionId
字段为空。
[MyMethod] CSPSession-Id: 12ty34ui22 复制代码
GatewayRegistry
类别中的消息在方法名后面也有CSPID= CSPID
(如果可用)。 这允许通过网关请求处理程序从API
调用跟踪单个网关请求。
[MyMethod]CSPID:334r43345 rest of message