解决IIS6日志记录时间和中国时间不一致

  IIS默认情况下记录的时间是格林威治时间,与中国使用的北京时间相差8个小时,所以查看北京时间时,需要加上8个小时,这样才是实际的中国北京时间。

  要想日志记录北京时间,需要将活动日志记录格式更改为 Microsoft IIS 日志文件格式。这种格式记录在服务器的当地时间。不过好像不能设置要记录哪些项目,是默认的,用户代理什么的都无法记录下来。不同于W3C扩展日志文件格式,可以选择要记录的项目,不过时间时格林威治的时间,郁闷。。
microsoft IIS 日志文件格式
  网上找的

打开“Internet 信息服务(IIS)管理器”,点击“Internet信息服务”、“本地计算机”、“网站”,在需要的网站上(如果要设置所有的网站,则直接在“网站”上)右击“属性”,打开网站属性。
在“网站”标签下找到“活动日志格式”,点击其后的“属性”,打开IIS日志属性
在IIS日志属性“常规”标签下,找到“文件命名和创建使用当地时间”,在其前打勾。
点击两次“确定”退出“Internet 信息服务(IIS)管理器”。
此时,IIS日志就已经是使用当地时间了


  这种办法经过测试,当记录格式为“W3C扩展日志文件格式”时,IIS6,IIS7下都无法记录北京时间,实际记录的还是格林威治时间,没用。只有将活动日志记录格式更改为Microsoft IIS 日志文件格式才可以记录服务器的时间。
文件名和创建使用当地时间
  微软还真懒,IIS7都不更新下“W3C扩展日志文件格式”中的时间为服务器的本地时间,还是格林威治的,╮(╯▽╰)╭。。

  下面是微软IIS7的解决方案

解决方法 1
活动日志记录格式更改为 Microsoft IIS 日志文件格式。这种格式记录在服务器的当地时间。
解决方法 2
使用位于 Winnt\System32 文件夹中 Convlog.exe 实用程序将在日志转换为 NCSA 日志文件格式和服务器的本地时间。在命令提示符键入以下内容:
convlog-即 LogFileName-t ncsa: + GMTOffset /
其中 LogFileName 是要转换的文件和 GMTOffset 的名称是若要更正的小时数。

例如对于要将转换为一个名为"Logfile.log 的文件,并更正为东部标准时间可使用以下命令:
convlog-即 Logfile.log-t ncsa:-0500
您可以找到完整的说明如何使用该 Convlog 实用程序在 IIS 联机文档中。

注: 本解决方案不会实际改变时间戳,日志条目。它进入该 GMT 的偏移量每个的条目,以便通过日志读取的任何人都可以看到的时间戳不在本地时间。

以下是此实用程序生成的日志项的示例:
192.168.1.1--[年六月 30 / / 2000:20:16:40-0500] GET /default.asp HTTP/1.0 200-


加支付宝好友偷能量挖...


原创文章,转载请注明出处:解决IIS6日志记录时间和中国时间不一致

评论(0)Web开发网
阅读(859)喜欢(0)操作系统及应用软件