Andando ad analizzare i log files di IIS, potete notare che tutti i dati relativi a data ed ora delle singole richieste al server non sono esatte: in particolare, sono falsate tanto quanto il vostro fuso orario sia scostato dal GMT.
Durante la fase di installazione di IIS, l'impostazione di default per quanto riguarda la generazione dei files di log è quella di utilizzare il
formato di file registro esteso W3C che
si basa sull'orario GMT.
Vi sono due modi per risolvere questo problema:
- modificare il formato del file di registro
- convertire il file di log utilizzando una utility presente in Windows
Metodo 1.: modificare il formato del file di registro
In IIS, selezionando
Poprietà dal menù contestuale attivabile col clic del tasto destro su
Sito Web Predefinito, vengono visualizzate alcune impostazioni.
E' sufficiente, a questo punto, selezionare dalla combobox
Formato registro attivo: l'opzione "
Formato di file di registro Micorsoft IIS".
Naturalmente, andando a scegliere
Proprietà è possibile anche modificare le altre impostazioni come la pianificazione del registro, la cartella di default ed altro.
Metodo 2.: utilizzare una utility distribuita con Windows per convertire i files di log
L'utility in questione è situata in
X:\Windows\System32 (ovviamente con
X: indico il vostro rootpath) ed è chiamata
convlog.exe (abbastanza autoesplicativo il nome, no?)
La sintassi per questo comando prevede:
convlog [opzioni] FileRegistrodove:
-i<i|n|e> = tipo file di registro in input
i - Formato standard Microsoft per registri Internet
n - Formato di file registro comune NCSA
e - Formato di file registro W3C esteso
-t <ncsa[:GMTOffset] | none> l'impostazione predefinita NCSA
-o <directory di output> come directory predefinita verr utilizzata la director
y corrente
-x salva in un registro .dmp le voci non Web
-d = converte in formato DNS gli indirizzi IP
-l<0|1|2> = Formato locale data standard Microsoft Internet
0 - MM/GG/AA (predefinito - es. USA)
1 - AA/MM/GG (es. Giappone)
2 - GG.MM.AA (es. Italia)
-c = continua anche in presenza di una riga non formattata correttamenteTralasciando tutti le possibili opzioni, la richiesta più comune in questi casi è:
convlog -ie LogFileName.log -t ncsa:-scostamento da GMTL'aspetto, secondo me, negativo di questa seconda soluzione è che non viene aggiornato il file di log con
ora e data esatta, ma viene inserita in ogni sua riga l'informazione di correzione oraria.
D:\>convlog -ie LogFile.log -t ncsa:+0200
Apertura del file logfile.log per l'elaborazione in corso...
Scrittura nel file .\logfile.log.ncsa in corso...
logfile.log completato. 23 righe elaborate.
11 righe Web scritte.
12 righe non Web ignorate.
Totali:
=======
Totale righe elaborate: 23
Totale righe Web scritte: 11
Di seguito propongo una qualsiasi riga presente nel file di log:
2006-03-02 10:10:05 W3SVC1 127.0.0.1 GET /test - 80 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+SV1;+.NET+CLR+1.1.4322) 301 0 0mentre questa è l'informazione aggiunta alla riga soprastante:
[08/May/2006:10:10:05 +0200]