Às voltas com o logparser…

Bem tenho tido alguma experiência com o Microsoft Logparser 2.2.

A ferramenta está muito boa e permite-nos fazer imensas coisas.

Tenho uns logs criados diariamente e quero agarrar neles e coloca-los num servidor de SQL.

Aqui fica a minha solução em VBS que pode ser colocada numa task scheduler para ler os logs tipo w3c.

Priemeiro instalamos o logparser.

Depois registamos a dll que fica na pasta de instalação com o comando regsvr32 “caminho completo da dlllogparser.dll”

E aqui fica o código simples….

1
2
3
4
5
6
7
8
9
10
oLogQuery = createobject("MSUtil.LogQuery")
Set oInput = createobject("MSUtil.logquery.W3CInputformat")
Set oOutput = createobject("MSUtil.logquery.SQLOutputformat")
oOutput.driver = "SQL Server"
oOutput.server = "servidorSQLEXPRESS"
oOutput.Database = "LogParser"
oOutput.username = "db_user"
oOutput.password = "password"
oOutput.clearTable = False
oOutput.createTable = False

Nome do ficheiro a ir buscar:
Como o ficheiro é criado diariamente com o ano mes e dia concatenados com o seu nome tenho de voltar esse nome um dia para trás. 🙂

1
2
sLogName = "NomedeFicheiro" & year(now) & month(now) & day(dateadd("d",-1,now)) & ".log"
sLogName = "ISALOG_" & year(now) & "0622" & "*.w3c"

Querie que me interessa do ficheiro a ser analisado.

1
strsql = "select c-ip, cs-username, date, time, s-computername, cs-referred, r-host, r-ip, r-port, cs-protocol, cs-uri, sc-status, error-info, action from C:TestLog" & sLogName & " to LogsIsa"

executar os comandos anteriores.

1
oLogQuery.ExecuteBatch strsql, oInput, oOutput

Para a próxima mostro como visualizar os dados que acabei de colocar na Base de Dados… 🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.