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