| 
 | 
	
 
 
关于windows IIS日志时间与系统时间相差8小时的问题 
很多做过网站的朋友在分析IIS日志的时候会发现IIS日志的时间与计算机的系统时间不符,比如在中国时区就会相差8小时。具体原因是什么呢?网 上搜索的结果十有八九让人做如下操作解决: 
  在IIS日志属性“常 规”标签下,找到“文件命名和创建使用当地时间”,在其前打勾。实际上,这种方法并不能解决时差问题。 
真正的原因是因为IIS默认 采用W3C 扩展日志文件格式,而W3C 扩展日志文件定义日志采用GMT时间(即格林尼治标准时间),而中国在GMT  +8时区,自然就相差八个小时了。要真正解决,有两个办法: 
1:活动日志格式更改为 “Microsoft IIS  日志文件格式”。此时时间一致。但是。。IIS日志文件格式记录的日志文档 内容不如W3C扩展日志文件格式的文档丰富,比如cs(User-Agent)段的信息就不会有,如果你很重视这些,那不要用此方法了。 
2: 使用转化工具转化,如Convlog.exe 实用程序, 位于 Winnt\System 32 文件夹,由微软提供。在命令提示符处, 键入:  convlog - IE LogFileName - t ncsa +/- GMTOffset : 其中 LogFileName 是对转换文件和  GMTOffset 名称是的要更正小时数。 即本地时间与GMT时间差。 例如, 来转换文件命名为 " Logfile.log, "  和更正有关东部标准时间, 请使用以下命令: convlog - IE Logfile.log - t ncsa -0500: 
附上命令详解: 
 
  用法: convlog  [options] LogFile 
  选项: 
  -i = 输入日志文件类型 
  i  - MS Internet 标准日志文件格式 
  n - NCSA 公用日志文件格式 
  e - W3C  扩展日志文件格式 
  -t  默认值是 ncsa 
  -o   默认值 = 当前目录 
  -x 将非 www 数据项保存到 .dmp 日志文件 
  -d  = 将 IP  地址转换成 DNS 
  -l = MS Internet 标准日期格式 
  0 - 月/日/年(默认值,如美国) 
  1 - 年/月/日(如中国) 
  2 - 日.月.年(如德国) 
  -c  = 即使发现格式不正确,也继续执行 
  如: 
  convlog -ii in*.log -d -t ncsa:+0800 
  convlog  -in ncsa*.log -d 
  convlog -ii jra*.log -t none |   
 
 
 
 | 
  
 |