logging - IIS7 是否默认日志请求查询字符串?

标签 logging iis-7 query-string

我们的分析引擎读取 IIS 日志,我想知道查询字符串是否包含在默认 IIS7 设置中。

例如,如果用户请求 http://mysite.com/page?to=otherpage日志是否包含 http://mysite.com/page?to=otherpagehttp://mysite.com/page ?

最佳答案

在服务器或特定站点的日志记录设置中(我通常全局配置日志记录),前提是您选择了 URI Query (cs-uri-query) logging 字段然后 IIS 将记录查询字符串:

enter image description here

您可以使用以下方法同时启用所有字段:

appcmd set config -section:sites -siteDefaults.logFile.logExtFileFlags:Date,Time,ClientIP,UserName,SiteName,ComputerName,ServerIP,Method,UriStem,UriQuery,HttpStatus,Win32Status,BytesSent,BytesRecv,TimeTaken,ServerPort,UserAgent,Cookie,Referer,ProtocolVersion,Host,HttpSubStatus

在您的日志文件中,您将看到两个字段:
  • cs-uri-stem - 这将是 /page您网址的一部分
  • cs-uri-query - 代表查询字符串,例如to=otherpage&life=42 .您不会看到问号,因为它已被剥离。

  • 如果 url 中不存在查询字符串值,那么您将在 - 中看到一个连字符 ( cs-uri-query ) field 。

    至于默认值是什么……我一时想不起来了。这是因为我们基于一组模板和黄金镜像构建我们的服务器,这些模板和黄金镜像并不是真正的普通 IIS7 框,并且已经启用了所有日志记录字段。

    但是,仔细研究全局日志记录设置,您很快就会发现(假设自服务器构建以来有人没有接触过这些设置)。

    最后,除非您在站点级别本地覆盖,否则服务器上的所有站点都将继承全局日志记录设置。

    您可能还会发现我之前给出的这个答案很有用,其中包含有关 IIS 日志文件的其他一些信息:

    https://stackoverflow.com/a/11298241/419

    关于logging - IIS7 是否默认日志请求查询字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19918561/

    相关文章:

    node.js - 使用 stdout/stderr 从 Node 进行 Stackdriver 日志记录

    ruby-on-rails - 如何在 UTC 时区中创建 Rails 日志时间戳?

    google-chrome - 找不到服务器 DNS 地址 - iis

    javascript - 内容文件在 SSL 连接上返回 "empty"

    javascript - 是否有原生 jQuery 方法来提取单个 QueryString 项目?

    java - JTextPane - 如何创建滚动日志

    python - 是否可以将装饰器应用于 python 中的一行?

    visual-studio-2010 - 使用 WebRole 在 Blob 存储 VHD 上创建虚拟目录

    php - 变量名中的点

    javascript - 根据 url 查询字符串设置和检查 Javascript cookie