我正在使用Logstash分析IIS日志,注意到cookie字段在某些情况下被截断(显示"cookie" => "..."
而不是实际值(
我看到类似长度的事件中的其他cookie都得到了正确处理。整个事件长度不超过4000个字符,所以我认为所有内容都应该适合
可能出了什么问题?
这似乎是有意为之。请参阅此帖子。
原因此行为是故意的。每个IIS日志字段的长度值被限制为4096字节(4k(。如果其中一个字段值为大于4096字节,则该值将替换为点。在上面的示例中,客户端的Cookie大于4096字节,因此被替换为(…(。
解决方案要解决此问题,请使用以下选项之一:
编写自己的自定义日志记录模块,该模块不包含4096字节字段限制。
或
减小要记录的请求或响应标头值的大小使得它们小于4096字节,因此不会由三个点代替。
您可以添加一个自定义字段,将其设置为从服务器变量或请求头转储值,并设置maxCustomFieldLength。然而,这似乎将数据截断为4k,而不是用"…"代替。略有改善,但并非100%理想。