本文正在参加「金石计划 . 瓜分6万现金大奖」
第四十二章 构建数据库应用程序 - 在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