最近在分析web日志,發現IIS7日志中時間與系統時間不一致,即本該上班時間才產生的產并發訪問日志,全部發生在凌晨至上班前。
本以為是系統時間設置錯誤,檢查后一切正常。后查詢資料,原來是這個原因:
日志的格式有IIS、NCSA、W3C三種。
1、IIS是固定的基于ASCII文本的格式,無法自定義記錄的字段,字段由逗號分隔,記錄的時間為本地時間文件名前綴為u_in。
2、NCSA是美國國家超級計算技術應用中心(NCSA)公用日志文件格式,也是固定的基于ASCII文本的格式,無法自定義記錄的字段,字段由空格分隔,記錄的時間為本地時間,并標記了與UTC時間的偏差,文件名前綴為u_nc。
3、W3C是可自定義的基于ASCII文本的格式,可以指定記錄的字段,如圖所示,字段由空格分隔,記錄的時間采用UTC格式,文件名前綴為u_ex。
IIS7默認使用的格式為W3C,它所能提供的信息是最完整的,NCSA是最簡潔的。因此如果采用NCSA格式,每一次訪問都會被馬上記錄下來,而W3c格式則需要一定的處理時間,大約一兩分鐘左右,才可以在日志中看到最新的訪問記錄,IIS格式則介于兩者之間。
UTC時間又叫協調世界時,是以格林尼治時間為準,其它地方就要加上所在的時區,中國在東八區,所以要在UTC時間的基礎上加八個小時。
所采用的時間格式是不能自定義的。
默認的目錄為%SystemDrive%/inetpub/logs/LogFiles,編碼為UTF-8。
日志文件滾動更新就是設置日志文件創建的時間,有每天一個、每周一個、每月一個、每小時一個、最大文件大小(在文件達到某個大?。▎挝粸樽止潱r創建新日志文件)和不創建新的日志文件幾種選擇。
“使用本地時間進行文件命名和滾動更新”這句話的意思就是以本地時間為準創建日志文件,而日志記錄時間的格式還是由日志的格式決定,比如選擇了W3C就一定是UTC時間。