日志文件工作原理
ArcGIS Server 可将服务器中发生的事件和与这些事件相关的所有错误一起写入到日志文件中。诸如服务启动时间、服务投入使用时间(服务器上下文创建)和将计算机添加到服务器的时间等事件都将被写入到日志中。低级别消息(如地图服务中的图层绘制时间)也可写入日志。
ArcGIS Server SOC 监听器 (ArcSOCMon.exe) 是 ArcGIS Server 用于读取/写入日志的核心程序。ArcSOCMon 的功能之一便是将在服务器对象管理器 (SOM)、服务器对象容器 (SOC) 和它们所包含的服务中发生的所有事件记入日志。
日志实际上是文件的集合,这些文件包括:ArcGIS Server 系统中的各个计算机上存在的匹配 XML 和 .dat 文件。XML 文件中包含 <log> 标签,而 .dat 文件中包含持续追加的消息。可以在任何可识别 XML 的工具中打开 XML 文件,以查看 .dat 文件中的消息。
由于日志文件此时分布在所有 ArcGIS Server 主机上,因此手动读取和关联日志文件的任务相当艰巨。读取日志文件的最佳方式是使用管理器应用程序,但使用 Server API (ArcObjects) 同样可以对日志文件进行访问。两种方法都可按时间先后顺序组织日志消息,而与文件出自哪台计算机无关。
默认情况下,日志文件会被写入到每台计算机的 <安装位置>\server\user\log (对于 Windows 系统)或 <ArcGIS Server 安装目录>/user/log(对于 Linux/Solaris 系统)中。每次重启 ArcGIS Server 时,都会创建新的日志文件,服务器将继续向那些日志文件中写入消息,直到其达到最大日志大小。
日志文件超过最大大小之后,该日志文件将退出工作并会创建一个新的日志文件。默认情况下,最大日志大小为 10 MB。您可以更改此值,还可以指定日志目录中容许的日志文件总数。可在管理器或 ArcCatalog 中的服务器属性 对话框的常规 选项卡中进行这些设置。
从“错误”(表示需要立即对该问题引起注意)到“信息:详细”(正常使用服务器时生成的普通消息),日志消息的严重级别是不同的。日志级别可决定写入日志文件的消息的数量和类型。以下是 ArcGIS Server 的日志级别:
无 - 不记录任何内容。
错误 - 严重问题,需要立即引起注意。
常规 - 关于错误及需要引起注意的问题的警告。
信息:简单 - 服务器的常规管理消息,包括有关服务创建的消息。此级别中还包括警告和错误。
信息:标准 - 由使用服务器而生成的普通消息,每个请求最多记录一次。此级别还包括所有“信息:简单”消息,以及警告和错误。
信息:详细 - 由服务器频繁发出的消息,每个请求可以记录多次,例如,用于通知在地图服务中成功绘制各图层的消息。此级别包括所有“信息:标准”和“信息:简单”消息,同时还包括警告和错误。
详细 - ArcGIS Server 开发人员在测试所开发的服务器对象或服务器对象扩展模块时,可将调试消息归入此级别。此级别包括所有“信息级别”消息,以及警告和错误。
默认情况下,服务器的日志级别设置为“信息:简单”,表示会将对严重级别为“错误”、“常规”和“信息:简单”的消息记入日志。级别为“信息:标准”或“信息:详细”的所有消息都不会被记入日志。
您可以随时使用管理器、ArcCatalog 或 Server API 对日志位置、最大日志大小和日志记录级别进行更改。且所有更改均可立即体现在服务器中。
如果要对分布式安装的 ArcGIS Server(服务器的各组件运行于多台计算机上)进行配置,则可以选择共享日志目录并使用 UNC 路径(例如,\\myServer\log)引用该目录,也可以使用在每台计算机上指向该日志目录的本地路径。同时还需要确保 SOC 帐户具有日志目录的读取和写入权限。
要手动删除日志文件,必须先在计算机上停止用于写入该日志文件的 ArcSOCMon.exe 进程。即便向共享位置写入记录文件时也同样如此。日志文件名中包含写入该文件的 SOC 计算机名(在 SOM 计算机名之后)。
将日志文件用作管理工具
日志文件是用于监听和解决 GIS 服务器中发生的问题的重要工具。GIS 服务器管理员将监听服务器的统计信息,并以该信息为依据确定需要在何时查看日志文件。GIS 服务器的统计信息可提供有关 GIS 服务的状态以及是否已发生错误的常规信息。服务器管理员可通过 ArcCatalog 查看该统计信息。
凭借 GIS 服务器的统计信息和系统使用者所提供的报告,管理员便可以着手解决系统中所发生的各种错误和其他问题。日志文件可提供有助于确定具体错误内容的信息,并可根据日志中的信息针对解决问题的入手点给出建议。
例如,管理员可能会在查看服务器统计信息后,发现服务器中发生了很多与创建新服务有关的错误。通过进一步检查统计信息,可将问题区域锁定到具体服务器对象容器计算机。随后,日志文件中的信息便可用于确定已记入的具体错误,从而发现问题所在(例如,发生问题的服务器对象容器计算机不具有对输出目录的访问权限)。管理员可以使用此信息纠正目录访问权限问题,然后利用统计信息和日志文件确定该错误是否会再次发生。
日志文件中包含统计信息的历史记录和随着时间的推移所发生事件。服务器的统计信息存储在内存中,是对 GIS 服务器启动后的时间片所作的累计摘要。时间越靠前,这些时间片的间隔就越长。服务器停止后,统计信息也会被清除。GIS 服务器的日志保存着一份对于服务器中所有事件的记录,而且在服务器停止之后,该日志不会被删除。
安全性工作流中的日志文件
如果在 GIS 服务器上启用了安全性,则日志消息中将会出现另外一个标签,用以报告提出请求的用户。这有助于追踪 GIS 服务器的各种用户活动。