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