Newsgroup: it.comp.www.server
Titolo: LOG IIS

Ciao a tutti !
Sto implementando una piccola applicazione che importa i file di log
generati da IIS in un DB ed ho la seguente necessità :
Conoscere, tramite VB, il nome del log sul quale IIS sta scrivendo nel
momento in cui lancio l'applicativo per un sito dato in input.
Ho visto in un esempio nel quale è possibile reperire alcune
informazioni
interessanti :
Set IISOBJ = GetObject("IIS://" & Servername & "/W3SVC/" & WebSiteID)
IISOBJ.LogType
IISOBJ.LogFileDirectory
IISOBJ.LogOdbcDataSource
IISOBJ.LogOdbcTableName
IISOBJ.LogOdbcUserName
IISOBJ.LogOdbcPassword
ma non sono riuscito a trovare il nome del file.
Ringrazio in anticipo. Ciao.

 Ringrazio in anticipo. Ciao.
se il log è giornaliero il nome sarà:
exaammgg es. quelli di oggi saranno ex041020.log
se il log è mensile il nome sarà:
exaamm.log es. ex0410.log
ecc.
comunque invece di diventare matto a ricreare l'acqua calda usa logparser e 
direttamente da linea di comando fai le query
-- 
ITHost (your host company)
Technical Manager
C. Paparelli (MCSE,MCSD,MCDBA)
http://www.ithost.ch
 

 ha scritto nel messaggio 
news:cl5pnf$48b$1...@domitilla.aioe.org...


 Grazie ancora
de nada


 ha scritto nel messaggio 
news:cl67tt$rkd$1...@domitilla.aioe.org...


 informazioni specifiche!
per lavori 'on the fly' me ne sono scritto uno...
se volete vederlo (è free) è qui:
http://www.gbcweb.com/iislogsreader.html
con i due filtri si tira fuori in un attimo quello che si vuole
hola
-> GbC|
www.gbcweb.com


ottimo lavoro, anche se come tutti i logreader grafici non è funzionale in 
quanto si carica in memoria tutto il file di log per analizzarlo e questo va 
bene per log di piccole dimensioni, ma se abbiamo un sito di medie 
dimensioni è inutilizzabile.
ti ho mandato un comparazione via email


 ti ho mandato un comparazione via email
Si, è un parser estremamente semplice e rozzo.
Il mio server web è praticamente 'personale' :) ed i miei logs sono su base
giornaliera.
Le analisi che mi interessano si limitano all'uso dei contatori e poco
altro.
Volevo qualcosa che non risiedesse sul server e mi consentisse di vedere i
log da qualsiasi macchina della rete semplicemente aprendo un file.
Me lo sono scritto dopo lunghe -inutili- ricerche nella rete.
Sto pensando di farne un servizio che periodicamente pubblichi pagine con i
reports.
Buona giornata e buon fine settimana.
-> GbC|
www.gbcweb.com

 Me lo sono scritto dopo lunghe -inutili- ricerche nella rete.
:-)


 questo modo eviti il passaggio di importazione
non passa per nessun dbms
legge e parsa
la lentezza è insita nella gestione di quell'oggetto 'bastardo' che è la
listview
ma sto già pensando ad una alternativa :)
-> GbC|
www.gbcweb.com

...

Ciao solo adesso ho avuto modo di leggere la tua risposta ...
Il problema è che sto sviluppando con dei vincoli che non posso
superare che sono DB Oracle + Crystal Report (CR).
Quello che segue è il calvario che ho seguito prima di giungere
all'idea di fare un servizio che mi carica sto cacchio di log in
Oracle.
Ho visto che con Crystal Report è possibile agganciarsi direttamente
ai file di log di IIS ma ho dei seri problemi quando passo dalla
piattaforma di sviluppo  ( XP + Visual Studio .NET 2003 ) che è in
italiano a quella di esercizio ( Windows Server 2003 Standard Edition
) che è in inglese. In CR quando mi aggancio al file di log mi fa
vedere i campi che lo compongono con il nome in italiano ho paura che
quando passo alla piattaforma in inglese questi non vengono
riconosciuti. Ho installato un Windows Server 2003 Standard Edition in
italiano e funziona !! Anche se non posso assicurare che i due Server
2003 hanno una configurazione identica questo fatto fa pensare proprio
ad un discorso di lingua.
IIS montato su macchine server ( su XP non c'è ) da la possibilità di
dirigere il LOG su un DB, via ODBC, anzichè su file.
Bene ho provato ad indirizzare il tutto su Oracle non ci si riesce.
Ok, ho pensato, non è un prodotto Microsoft per cui provo con Access
... Risultato non ci si riesce ( considera che sto seguendo le
direttive presenti sul sito Microsoft all'indirizzo
http://support.microsoft.com/default.aspx?scid=kb%3Bit%3BI300390
 ) e
comunque ho letto che è sconsigliato perchè sovraccarica di lavoro
extra il server.
La necessita di sapere il nome del file è dovuta al fatto che IIS non
cambia nome al file precisamente allo scoccare della mezzanotte per
cui è capace che le informazione di oggi ( es 22/10/2004 ) mi vanno a
finire nel file di log che ha il nome in041021.log  che ha aperto ieri
ma lo ha chiuso oggi magari alle 2 o alle 3 di notte per cui non mi
posso basare sul nome del file .... Quindi se ho il mio servizio
schedulato ogni ora come faccio a sapere se il penultimo file della
lista ha ricevuto in append da IIS altre informazione a cavallo tra un
import e l'altro ?
                1H              1H           1H
          ______/\_____  _______/\_______  ____/\______
         /             \/                \/            \ 
         S-------------S-----------------S-------------S
          ||||||||||||| |||||||| |||||||| |||||||||||||
          VVVVVVVVVVVVV VVVVVVVV VVVVVVVV VVVVVVVVVVVVV
            in041021    in041021 in041022   in041022
Chiaramente posso aggirare il problema via software tramite opportune
flag che mi salvo nel DB oppure reimportando sempre sia l'ultimo che
il penultimo file mettendo in chiave i campi opportuni e gestendo
l'errore chiave duplicata ...
oppure rinunciando a delle statistiche aggiornate al secondo
rinunciando ad importare l'ultimo file fintano che IIS non passa a
quello nuovo ...
E' che mi piaceva percorrere questa strada .... comunque grazie lo
stesso a presto ...
scusate per la lunghezza di questa email ma a volte sono un pò
logorroico ...

 extra il server.
esatto

personalmente me ne sbatto del nome del logfile e usando logparser chiamo 
tutti i file con ex*.log e quindi con un group by per data ottengo i 
risultati suddivisi per giorno, ovviamente per non passarmi tutti i log ogni 
giorno elimino quelli di 2 giorni fa in modo che adesso ci sia unicamente il 
file di oggi e di ieri, per essere corretti se hai impostati i log con la 
timezone gmt i log di ieri non serve più dalle 03:00 AM ovvero 1 ora in più 
per il fuso orario + 1 ora per l'ora legale + 1 ora di sicurezza che tanto 
non guasta :-)


 sicurezza che tanto non guasta :-)
dimenticavo il risultato di logparser puoi ovviamente memorizzarlo su un 
file csv e quindi inserirlo tranquillamente nel tuo db con un semplice bulk 
insert :-)
