1. 程式人生 > >IIS7日誌中時間與系統時間不一致的原因

IIS7日誌中時間與系統時間不一致的原因

最近在分析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時間的基礎上加八個小時。

所採用的時間格式是不能自定義的。

預設的目錄為%SystemDrive%\inetpub\logs\LogFiles,編碼為UTF-8。

日誌檔案滾動更新就是設定日誌檔案建立的時間,有每天一個、每週一個、每月一個、每小時一個、最大檔案大小(在檔案達到某個大小(單位為位元組)時建立新日誌檔案)和不建立新的日誌檔案幾種選擇。
使用本地時間進行檔案命名和滾動更新

”這句話的意思就是以本地時間為準建立日誌檔案,而日誌記錄時間的格式還是由日誌的格式決定,比如選擇了W3C就一定是UTC時間。