最近在分析web日志,发现IIS7日志中时间与系统时间不一致,即本该上班时间才产生的产并发访问日志,全部发生在凌晨至上班前。 本以为是系统时间设置错误,检查后一切正常。后查询资料,原来是这个原因: 日志的格式有IIS、NCSA、W3C三种。 IIS是固定的基于 ASCII 文本的格式,无法自定义记录的字段,字段由逗号分隔,记录的时间为本地时间文件名前缀为u_in。 NCSA是美国国家超级计算技术应用中心 (NCSA) 公用日志文件格式,也是固定的基于 ASCII 文本的格式,无法自定义记录的字段,字段由空格分隔,记录的时间为本地时间,并标记了与UTC时间的偏差,文件名前缀为u_nc。 W3C是可自定义的基于 ASCII 文本的格式,可以指定记录的字段,如图所示,字段由空格分隔,记录的时间采用UTC 格式,文件名前缀为u_ex。 IIS7默认使用的格式为W3C,它所能提供的信息是最完整的,NCSA是最简洁的。因此如果采用NCSA格式,每一次访问都会被马上记录下来,而W3c格式则需要一定的处理时间,大约一两分钟左右,才可以在日志中看到最新的访问记录,IIS格式则介于两者之间。
UTC时间又叫协调世界时,是以格林尼治时间为准,其它地方就要加上所在的时区,中国在东八区,所以要在UTC时间的基础上加八个小时。 所采用的时间格式是不能自定义的,如果采用默认的W3C格式日志,时间问题和我们就是有8小时时差,这个无解的,如果介意时差问题,只能换其它格式日志。
默认的目录为%SystemDrive%\inetpub\logs\LogFiles,编码为UTF-8。
日志文件滚动更新就是设置日志文件创建的时间,有每天一个、每周一个、每月一个、每小时一个、最大文件大小(在文件达到某个大小(单位为字节)时创建新日志文件)和不创建新的日志文件几种选择。 |