IIS 日志包含 <...> 而不是预期的日志记录字段值

本文可帮助你解决 Internet Information Services (IIS) 日志包含 ... 而不是预期的日志记录字段值的问题。

原始产品版本: Internet Information Services 8.0
原始 KB 数: 2809913

现象

假设已将 IIS 日志记录配置为使用 W3C 日志记录格式记录站点流量。 检查 IIS 日志时,你会注意到一个或多个日志记录字段值包含三个点(...而不是预期值)。 例如,你可能会看到类似于下面的 IIS 日志条目:

#Software:Microsoft Internet Information Services 7.5
#Version:1.0
#Date: <DateTime>
#Fields:日期时间 cs-method cs-uri-stem s-port cs-username cs(Cookie) sc-status sc-substatus
<DateTime> GET /time.asp 80 - ...200 0

在上面的示例中,cs(Cookie) 值而不是 ... 实际的 Cookie 值。

原因

此为有意行为。 每个 IIS 日志字段值的长度限制为 4096 字节(4k)。 如果其中一个字段值大于 4096 字节,该值将替换为三个点。 在上面的示例中,客户端的 Cookie 大于 4096 字节,因此被替换为 (...)。

解决方法

若要解决此问题,请使用下列选项之一:

  • 编写自己的自定义日志记录模块,该模块没有 4096 字节字段限制。

  • 减小要记录的请求或响应标头值的大小,使其小于 4096 字节,因此不会被三个点替换。

详细信息