最近在分析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格式則介於兩者之間。
解決方案
程序員的基礎教程:菜鳥程序員