日志消息结构
日志文件消息中包含的信息具有一致结构。了解此结构对于解释日志文件中的信息至关重要。
可记录消息由 ArcGIS Server 的许多子系统生成。消息生成的原因是服务器对象管理器 (SOM) 启动以及管理和用户使用。每条消息都将服务器或服务作为目标。针对服务器的消息记录与 SOM 的核心功能相关联的事件,而服务消息则记录与某个特定服务配置及该服务配置实例相关联的事件。
所有日志消息都具有以下属性:
- 时间 - 已记录事件发生的时间
- 类型 - 该消息相对于其他消息的详细程度(有关所有详细程度的说明,请参阅解释日志文件。)
- 代码 - 与消息关联的结果代码
- 目标 -“服务器”或与消息相关联的服务配置名称
- 线程 - 生成消息的 SOM 进程线程
消息中还可能包括以下附加属性:
- 方法名 - 生成日志消息的方法调用(针对服务)
- 计算机 - 发生事件的服务器对象容器计算机。例如,服务器可能记录无法在特定计算机上创建特定服务配置的服务器上下文的错误。只有应用于为特定计算机记录的统计数据的消息才会包括计算机属性。
- 用户 - 提交请求(从而导致记录消息产生)的用户。该属性在 ArcGIS Server 安全性已启用时十分有用。
- 经历的时间 - 完成记录的事件所需的时间。例如,创建服务器对象事件经历的时间表示创建服务实例所花费的时间。
日志消息是一条便于阅读的说明,用于描述包括容器进程(正在运行生成消息的服务)的进程和线程 ID ,以及正在运行该进程的服务器对象容器计算机(如果适用)的已记录事件。消息可能包含任何来自服务本身的错误说明,例如表示其无法写入输出内容的错误。
以下为典型日志消息的示例。该日志消息表示在服务器对象容器 padisha 上创建了 Yellowstone 地图服务的一个实例,以及创建此服务花了 2.443 秒。
<Msg time='2009-10-31T14:36:05' type='INFO3' code='4004' target='Yellowstone.MapServer' machine='padisha' user='Fred' thread='2936' elapsed='2.443'> Server Object instance is successfully created on machine padisha. </MSG>
消息目标
日志消息的目标可能是服务器或服务。与服务关联的消息具有作为目标属性的服务的名称和类型。例如,Yellowstone 地图服务将显示为 Yellowstone.MapServer。
日志中还会出现其他两个作为内部服务配置的目标。虽然管理员并不直接管理这些配置,但仍会发生需要处理的配置错误。
内部服务有 SDM.ServerDirectoryManager 和 Engine.Engine。SDM.ServerDirectoryManager 是通过 GIS 服务器的服务器目录清除文件的对象。SOM 启动时会创建 SDM.ServerDirectoryManager 的一个实例。每次清除目录时,SDM.ServerDirectoryManager 的这个实例都会为所有服务器目录执行清除操作。它遇到的任何错误时都会被报告。SDM.ServerDirectoryManager 通常报告的错误包括无法访问需要它清除的目录。
每次创建或移除服务器目录时,都会停止 SDM.ServerDirectoryManager 并将其重新启动。
Engine.Engine 服务表示空服务器上下文配置。客户端要求创建空上下文时,Engine.Engine 配置会为客户端进行创建。