Ir ao conteúdo

comparar log


JimmyPage

Posts recomendados

Postado

como q faco para comparar um trecho de log, por exemplo: verificar se

<Exception> <MessageFormatError>FieldSeparatorMissingOrUnexpectedlyFound</MessageFormatError>

</Exception>

esta no log.... C:\teste\logGerado.log

por favor,

Postado

Usa o localizar do Windows (Iniciar > Localizar). Preenche o nome do arquivo e o "contendo texto". Se não aparecer o arquivo na lista, ele não tem o texto.

Ou vai pro prompt de comandos e usa o FIND (o -i é para ignorar diferenças de maiúsculas e minúsculas, se quiser):

find -i "<Exception> <MessageFormatError>FieldSeparatorMissingOrUnexpec tedlyFound</MessageFormatError>

</Exception>" C:\teste\logGerado.log

JP

Postado

Com certeza, sim.

O negócio é abrir o arquivo, ler o conteúdo para uma string e ver se o conteúdo bate... Deve ficar algo mais ou menos assim:


Option Explicit

Dim fso, file, str

Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("C:\teste\logGerado.log", 1, False)
str = file.ReadAll

If InStr(str, "<Exception> <MessageFormatError>FieldSeparatorMissingOrUnexp ec tedlyFound</MessageFormatError></Exception>") <> 0 Then
WScript.Echo "Texto encontrado"
Else
WScript.Echo "Texto não encontrado"
End If

file.Close
Set file = Nothing
Set fso = Nothing

Deve funcionar... Estou no linux, então nem tem como testar.

Ah, se o log for grande ou tender a crescer, há grandes chances de que fique nojentamente lento, sem muita chance de tornar melhor.

JP

Postado

Não. São "Variant". Faz tempo que não uso VBScript, acho que ele não deixa você tipar as variáveis (... As String), mas não tenho certeza.

A fso vai receber um objeto do tipo Scripting.FileSystemObject. A file, TextStream e e str, uma String.

JP

Postado

Você gravou isso num .VBS. clicou e deu o erro?

Robot da Rational? Ele usa SQA, não VBA exatamente. Tenta tipar o fso, fazendo "Dim fso As Object".

Provavalmente deve ser esse o erro, daí "tipe" as outras variáveis tbém:


Dim fso As Object
Dim file As Object
Dim str As String

JP

Postado

estou usando o robot...

mando uma mensagem, ele gera um log, depois tenho q conferir com um trecho de log, estou usando uma funcao, o ttrecho de log passo para a funcao atraves de uma variavel

Postado

como faco para garantir q ele leia a partir da ultima linha, pois depois dessa mesagem, terei q enviar outra, preciso fazer com q ele lei a partir dessa ultima linha, para nao ler o trecho da outra mensagem, valeu

Postado

Você quer que ele leia SÓ a última linha? Use o .ReadLine ou .SkipLine do TextStream até chegar na última...

Ou apague o arquivo depois de processá-lo. Daí vai ter sempre só uma linha.

Ou guarde o número da linha processada (vai dando ReadLine e incrementando um contador) para na próxima tacada saber qual linha processar.

Postado

eu quero saber onde parou a comparacao, pois em seguida ele gera mais log, e preciso comparar outro trecho de arquivo com mais esse novo log gerado...

Postado

diz q o trecho nao existe, mas ele esta no log, sera q preciso colocar um contador? eu so mudei de readall pra readline, sera q ele so le a primeira linha ? falou

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...