由基思·纽曼和 罗伯特·麦克默里
可以在 Web 服务器或网站上配置日志记录,以记录有关 HTTP 请求和错误的信息。 日志中的信息可以帮助你对网站进行故障排除或优化。
先决条件
若要充分利用本教程,必须有权访问运行以下操作系统之一的计算机:
- Windows Server® 2012
- Windows® 8
在站点级别配置日志记录
可以使用用户界面(UI)或直接编辑配置文件来执行此过程。
通过用户界面在站点级别配置日志记录
打开 IIS 管理器。
- 对于 Windows Server 2012,在 “开始 ”页上,单击 “服务器管理器 ”磁贴,然后单击“ 确定”。 在 服务器管理器中,单击 “工具” 菜单,然后单击“ Internet Information Services”(IIS)管理器。
- 对于 Windows 8,在 “开始 ”页上键入 “控制面板”,然后单击搜索结果中的 “控制面板” 图标。 在 “控制面板 ”屏幕上,单击“ 系统和安全”,单击 “管理工具”, 然后单击“Internet Information Services”(IIS)管理器。
在 “连接 ”树视图中,选择网站。
在 “功能视图”中,双击“ 日志记录”。
在“日志记录”页上的“格式化”下的“日志文件”部分中,选择以下日志文件格式之一:
- IIS:使用Microsoft IIS 日志文件格式记录有关站点的信息。 此格式由 HTTP.sys处理,是一种基于 ASCII 文本的 固定 格式,这意味着无法自定义记录的字段。 字段用逗号分隔,时间记录为本地时间。 有关 IIS 日志文件格式的详细信息,请参阅 IIS 日志文件格式(IIS 6.0)。
- NCSA:使用国家超级计算应用程序中心(NCSA)通用日志文件格式记录有关站点的信息。 此格式由 HTTP.sys处理,是一种基于 ASCII 文本的 固定 格式,这意味着无法自定义记录的字段。 字段用空格分隔,时间记录为包含协调世界时(UTC)偏移量的本地时间。 有关 NCSA 日志文件格式的详细信息,请参阅 NCSA 通用日志文件格式(IIS 6.0)。
- W3C:使用集中式 W3C 日志文件格式记录有关服务器上的所有站点的信息。 此格式由 HTTP.sys处理,并且是基于 ASCII 文本的 可自定义 格式,这意味着你指定记录的字段。 在日志记录页面上,单击选择字段,以在W3C 日志记录字段对话框中指定要记录的字段。 字段用空格分隔,时间以协调世界时(UTC)进行记录。 有关 W3C 日志文件格式的详细信息,请参阅 W3C 扩展日志文件格式(IIS 6.0)。
- 自定义:为自定义日志记录模块使用自定义格式。 选择此选项时, “日志记录 ”页将变为禁用,因为无法在 IIS 管理器中配置自定义日志记录。 有关如何使用自定义日志文件格式的详细信息,请参阅自定义日志记录模块(IIS 6.0)。
在 Directory 下,指定应存储日志文件的路径。 默认值为
%SystemDrive%\inetpub\logs\LogFiles。注释
最佳做法是将日志文件(例如失败的请求跟踪日志)存储在目录以外的
%systemroot%目录中。在 “日志文件滚动更新 ”部分中,选择以下选项之一:
计划:创建基于以下值之一的新日志文件:
- 每小时:每小时创建新的日志文件。
- 每日:每天创建新的日志文件。
- 每周:每周创建新的日志文件。
- 每月:每月创建新的日志文件。
最大文件大小(以字节为单位):当文件达到特定大小(以字节为单位)时创建日志文件。最小文件大小为1048576字节。 如果此属性设置为小于 1048576 字节的值,则默认值隐式假定为1048576字节。
不要创建新的日志文件:记录信息后,有一个日志文件会继续增长。
选择 “使用本地时间进行文件命名和滚动更新 ”,以指定日志文件命名和日志文件滚动更新的时间使用本地服务器时间。 如果未选择此选项,将使用协调世界时(UTC)。
注释
无论此设置如何,实际日志文件中的时间戳都将使用从“格式”列表中选择的日志格式的时间格式。 例如,NCSA 和 W3C 日志文件格式对时间戳使用 UTC 时间格式。
在“操作”窗格中单击“应用”。
在服务器级别配置每站点日志记录
可以使用用户界面(UI)或直接编辑配置文件来执行此过程。
通过 UI 在服务器级别配置每个站点的日志记录
在 IIS 管理器的 “连接 ”树视图中,选择 Web 服务器。
在 “功能视图”中,双击“ 日志记录”。
在“每个站点一个日志文件”下的“日志记录”页上,从下拉列表中选择“站点”。 默认情况下,已选择站点。
在“日志记录”页上的“格式化”下的“日志文件”部分中,选择以下日志文件格式之一:
- IIS:使用Microsoft IIS 日志文件格式记录有关站点的信息。 此格式由 HTTP.sys处理,是一种基于 ASCII 文本的 固定 格式,这意味着无法自定义记录的字段。 字段用逗号分隔,时间记录为本地时间。 有关 IIS 日志文件格式的详细信息,请参阅 IIS 日志文件格式(IIS 6.0)。
- NCSA:使用国家超级计算应用程序中心(NCSA)通用日志文件格式记录有关站点的信息。 此格式由 HTTP.sys处理,是一种基于 ASCII 文本的 固定 格式,这意味着无法自定义记录的字段。 字段用空格分隔,时间记录为包含协调世界时(UTC)偏移量的本地时间。 有关 NCSA 日志文件格式的详细信息,请参阅 NCSA 通用日志文件格式(IIS 6.0)。
- W3C:使用集中式 W3C 日志文件格式记录有关服务器上的所有站点的信息。 此格式由 HTTP.sys处理,并且是基于 ASCII 文本的 可自定义 格式,这意味着你指定记录的字段。 在日志记录页面上,单击选择字段,以在W3C 日志记录字段对话框中指定要记录的字段。 字段用空格分隔,时间以协调世界时(UTC)进行记录。 有关 W3C 日志文件格式的详细信息,请参阅 W3C 扩展日志文件格式(IIS 6.0)。
- 自定义:为自定义日志记录模块使用自定义格式。 选择此选项时, “日志记录 ”页将变为禁用,因为无法在 IIS 管理器中配置自定义日志记录。 有关如何使用自定义日志文件格式的详细信息,请参阅自定义日志记录模块(IIS 6.0)。
在 Directory 下,指定应存储日志文件的路径。 默认值为
%SystemDrive%\inetpub\logs\LogFiles。注释
最佳做法是将日志文件(例如失败的请求跟踪日志)存储在目录以外的
%systemroot%目录中。在 “日志文件滚动更新 ”部分中,选择以下选项之一:
计划:创建基于以下值之一的新日志文件:
- 每小时:每小时创建新的日志文件。
- 每日:每天创建新的日志文件。
- 每周:每周创建新的日志文件。
- 每月:每月创建新的日志文件。
最大文件大小(以字节为单位):当文件达到特定大小(以字节为单位)时创建日志文件。最小文件大小为1048576字节。 如果此属性设置为小于 1048576 字节的值,则默认值隐式假定为1048576字节。
不要创建新的日志文件:记录信息后,有一个日志文件会继续增长。
选择 “使用本地时间进行文件命名和滚动更新 ”,以指定日志文件命名和日志文件滚动更新的时间使用本地服务器时间。 如果未选择此选项,将使用协调世界时(UTC)。
注释
无论此设置如何,实际日志文件中的时间戳都将使用从“格式”列表中选择的日志格式的时间格式。 例如,NCSA 和 W3C 日志文件格式对时间戳使用 UTC 时间格式。
在“操作”窗格中单击“应用”。
在服务器级别配置每台服务器的日志记录
可以使用用户界面(UI)或直接编辑配置文件来执行此过程。
在服务器级别使用 UI 配置单个服务器日志记录
在 IIS 管理器的 “连接 ”树视图中,选择 Web 服务器。
在 “功能视图”中,双击“ 日志记录”。
在 “日志记录 ”页上, 在每个站点的一个日志文件下,从下拉列表中选择 “服务器 ”。 默认情况下,已选择 “站点 ”。
在“日志记录”页上的“格式化”下的“日志文件”部分中,选择以下日志文件格式之一:
- IIS:使用Microsoft IIS 日志文件格式记录有关站点的信息。 此格式由 HTTP.sys处理,是一种基于 ASCII 文本的 固定 格式,这意味着无法自定义记录的字段。 字段用逗号分隔,时间记录为本地时间。 有关 IIS 日志文件格式的详细信息,请参阅 IIS 日志文件格式(IIS 6.0)。
- NCSA:使用国家超级计算应用程序中心(NCSA)通用日志文件格式记录有关站点的信息。 此格式由 HTTP.sys处理,是一种基于 ASCII 文本的 固定 格式,这意味着无法自定义记录的字段。 字段用空格分隔,时间记录为包含协调世界时(UTC)偏移量的本地时间。 有关 NCSA 日志文件格式的详细信息,请参阅 NCSA 通用日志文件格式(IIS 6.0)。
- W3C:使用集中式 W3C 日志文件格式记录有关服务器上的所有站点的信息。 此格式由 HTTP.sys处理,并且是基于 ASCII 文本的 可自定义 格式,这意味着你指定记录的字段。 在日志记录页面上,单击选择字段,以在W3C 日志记录字段对话框中指定要记录的字段。 字段用空格分隔,时间以协调世界时(UTC)进行记录。 有关 W3C 日志文件格式的详细信息,请参阅 W3C 扩展日志文件格式(IIS 6.0)。
- 自定义:为自定义日志记录模块使用自定义格式。 选择此选项时, “日志记录 ”页将变为禁用,因为无法在 IIS 管理器中配置自定义日志记录。 有关如何使用自定义日志文件格式的详细信息,请参阅自定义日志记录模块(IIS 6.0)。
在 Directory 下,指定应存储日志文件的路径。 默认值为
%SystemDrive%\inetpub\logs\LogFiles。注释
最佳做法是将日志文件(例如失败的请求跟踪日志)存储在目录以外的
%systemroot%目录中。在 “日志文件滚动更新 ”部分中,选择以下选项之一:
计划:创建基于以下值之一的新日志文件:
- 每小时:每小时创建新的日志文件。
- 每日:每天创建新的日志文件。
- 每周:每周创建新的日志文件。
- 每月:每月创建新的日志文件。
最大文件大小(以字节为单位):当文件达到特定大小(以字节为单位)时创建日志文件。最小文件大小为1048576字节。 如果此属性设置为小于 1048576 字节的值,则默认值隐式假定为1048576字节。
不要创建新的日志文件:记录信息后,有一个日志文件会继续增长。
选择 “使用本地时间进行文件命名和滚动更新 ”,以指定日志文件命名和日志文件滚动更新的时间使用本地服务器时间。 如果未选择此选项,将使用协调世界时(UTC)。
注释
无论此设置如何,实际日志文件中的时间戳都将使用从“格式”列表中选择的日志格式的时间格式。 例如,NCSA 和 W3C 日志文件格式对时间戳使用 UTC 时间格式。
在“操作”窗格中单击“应用”。
选择要记录的 W3C 字段
可以使用用户界面(UI)或直接编辑配置文件来执行此过程。
使用 UI 选择要记录的 W3C 字段
在 IIS 管理器 的功能视图中 ,双击 “日志记录”。
在“日志记录”页上的“格式化”下的“日志文件”部分中,单击“选择字段”。
在 “W3C 日志记录字段 ”对话框中,选择以下一个或多个选项:
- 日期(日期):请求的发生日期。
- 时间(时间):发生请求的时间(UTC)。
- 客户端 IP 地址 (c-ip):发出请求的客户端的 IP 地址。
- 用户名(cs-username):访问服务器的经过身份验证的用户的名称。 匿名用户会以连字符表示。
- 服务名称(s-sitename):满足请求的站点实例编号。
- 服务器名称(s-computername):生成日志文件条目的服务器的名称。
- 服务器 IP 地址(s-ip):生成日志文件条目的服务器 IP 地址。
- 服务器端口(s-port):为服务配置的服务器端口号。
- 方法(cs-method):请求的操作,例如 GET 方法。
- URI 词干(cs-uri-stem):操作的通用资源标识符或目标。
- URI 查询(cs-uri-query):客户端尝试执行的查询(如果有)。 只有动态页面才需要统一资源标识符 (URI) 查询。
- 协议状态(sc-status):HTTP 或 FTP 状态代码。
- 协议子状态(sc-substatus):HTTP 或 FTP 子状态代码。
- Win32 状态(sc-win32-status):Windows 状态代码。
- 发送的字节数(sc-bytes):服务器发送的字节数。
- 接收的字节数(cs-bytes):服务器接收的字节数。
- 花费的时间(时间):操作所花费的时间长度(以毫秒为单位)。
- 协议版本(cs-version):客户端使用的协议版本。
- 主机(cs-host):主机名(如果有)。
- 用户代理(cs(UserAgent):客户端使用的浏览器类型。
- Cookie(cs(Cookie):发送或接收的 Cookie 的内容(如果有)。
- 引用者(cs(引用者):用户上次访问的网站。 此站点提供指向当前站点的链接。
在“操作”窗格中单击“应用”。
配置日志文件滚动更新选项
可以使用用户界面(UI)或直接编辑配置文件来执行此过程。
使用 UI 配置日志文件轮替选项
在 IIS 管理器 的功能视图中 ,双击 “日志记录”。
在 “日志记录 ”页上的 “日志文件滚动更新 ”部分中,选择以下选项之一:
计划:创建基于以下值之一的新日志文件:
- 每小时:每小时创建新的日志文件。
- 每日:每天创建新的日志文件。
- 每周:每周创建新的日志文件。
- 每月:每月创建新的日志文件。
最大文件大小(以字节为单位):当文件达到特定大小(以字节为单位)时创建日志文件。最小文件大小为1048576字节。 如果此属性设置为小于 1048576 字节的值,则默认值隐式假定为1048576字节。
不要创建新的日志文件:此选项意味着在记录信息时,存在一个继续增长的日志文件。 如果将单个日志文件用于站点,则使用日志分析实用工具时会很有帮助,但也会创建可能影响服务器整体性能的大型日志文件。
选择 “使用本地时间进行文件命名和滚动更新 ”,以指定日志文件命名和日志文件滚动更新的时间使用本地服务器时间。 如果未选择此选项,将使用协调世界时(UTC)。
注释
无论此设置如何,实际日志文件中的时间戳都将使用从“格式”列表中选择的日志格式的时间格式。 例如,NCSA 和 W3C 日志文件格式对时间戳使用 UTC 时间格式。
在“操作”窗格中单击“应用”。