[SP-pm] Capturar trechos de um arquivo de log

"Flávio R. Lopes" flavio.lopes at links.inf.br
Sun Mar 13 19:20:33 PDT 2011


Obrigado Tiago, ficou claro seu exemplo. Mas vou ter que pesquisar mais 
sobre isto para tentar "modelar" minha situação e tentar implementar a 
solução.

Em 13-03-2011 22:59, Tiago Peczenyj escreveu:
> Flavio
>
> Imagine que vc quer imprimir todas as linhas entre uma string X e 
> outra Y. Pode ser o começo e o fim de um StackTrace Java por exemplo. 
> Vc pode ter uma "flag" $imprime quando encontra X e desliga quando 
> encontra Y.
>
> É uma maquina de estados pois vc tem 2 estados definidos: "dentro" e 
> "fora" do que vc quer imprimir. Quando vc define os estados e como vc 
> transita de um para o outro (que pode ser algo muito simples como uma 
> flag booleana).
>
> Outro exemplo, as vezes vc precisa fazer algo como formatar arquivos, ex.
>
> de
>
> <a>
> <b>
> <c>valor</c>
> </b>
> </a>
>
> para
>
> <a>
> <b>
> <c>valor</c>
> </b>
> </a>
>
> (espero que fique bem formatado)
>
> A forma como vc faz isso é criando uma maquina de estados. Imagine que 
> a cada <TAG> vc incrementa uma variável $nivel e, a partir dela, 
> sabemos como adicionar uma quantidade de espaços na frente das tags. 
> Este é um exemplo bem simples de maquina de estados tambem.
>
>
> 2011/3/13 "Flávio R. Lopes" <flavio.lopes em links.inf.br 
> <mailto:flavio.lopes em links.inf.br>>:
> > Máquina de Estados?....desculpem minha ignorância, mas nunca ouvi falar
> > sobre isto. Vou pesquisar sobre...
> > Por enquanto, como é meio urgente isto, vou dar uma olhada no que 
> sugeriu o
> > Nelson.
> >
> > abraço,
> > Flávio
> >
> > Em 13-03-2011 17:09, Thiago escreveu:
> >>
> >> Não sei o tamanho do arquivo, mas uma máquina de estados, como 
> sugeriu o
> >> Blabos soa bem...
> >>
> >> On 13-03-2011 01:13, "Flávio R. Lopes" wrote:
> >>>
> >>> Olá pessoal, tudo bem?
> >>> Seguinte, tenho rodando uma aplicação que gera um arquivo de log no
> >>> seguinte formato (e que seguem um padrão):
> >>>
> >>> 12-Mar 22:56 Id 100: Starting......
> >>> 12-Mar 22:56 Id 100: blablablablablablablablablabla
> >>> 12-Mar 22:56 Id 100: blablablablabla
> >>> .
> >>> .
> >>> .
> >>> Id:              100
> >>> .
> >>> .
> >>> .
> >>> Status:              OK
> >>> .
> >>> .
> >>> .
> >>> 12-Mar 22:57 Id 100: blablablablablablabla
> >>> 12-Mar 22:57 Id 100: blablablablablablablablablablablablabla
> >>> 12-Mar 22:57 Id 100: End
> >>>
> >>> 13-Mar 22:10 Id 101: Starting......
> >>> 13-Mar 22:10 Id 101: blablablablablablablablablabla
> >>> 13-Mar 22:10 Id 101: blablablablablablablablablablablablabla
> >>> .
> >>> .
> >>> .
> >>> Id:              101
> >>> .
> >>> .
> >>> .
> >>> Status:              ERROR
> >>> .
> >>> .
> >>> .
> >>> 13-Mar 22:11 Id 101: blablablablablablabla
> >>> 13-Mar 22:11 Id 101: blablablablablablablablablablablablabla
> >>> 13-Mar 22:11 Id 101: End
> >>>
> >>>
> >>> Minha idéia é gravar num arquivo, os blocos (trechos) que tiveram 
> album
> >>> problema (FAIL, WARNING, ERROR) e posteriormente enviar no meu e-mail.
> >>> Tomando o exemplo acima, nas linhas referentes a tarefa (ID=101)
> >>> executada em 13/03, aconteceu algum problema (Status=ERROR). Então 
> gostaria
> >>> de copiar o bloco compreendido deste o início da linha onde é 
> "startada" a
> >>> tarefa (13-Mar 22:10 Id 101: Starting......) até a última linha 
> desta tarefa
> >>> (13-Mar 22:11 Id 101: End)
> >>>
> >>> Tentei buscar algum módulo no CPAN, mas acredito que não estou 
> fazendo a
> >>> busca de forma apropriada.
> >>> Alguém pode me dar uma sugestão?
> >>>
> >>> Abraço,
> >>> Flávio
> >>>
> >>> =begin disclaimer
> >>>  Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> >>> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org 
> <mailto:SaoPaulo-pm em pm.org>
> >>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> >>> =end disclaimer
> >>
> >> =begin disclaimer
> >>  Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> >> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org 
> <mailto:SaoPaulo-pm em pm.org>
> >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> >> =end disclaimer
> >>
> >
> > =begin disclaimer
> >  Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> > SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org <mailto:SaoPaulo-pm em pm.org>
> > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> > =end disclaimer
> >
>
>
>
> -- 
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
>
>
> =begin disclaimer
>     Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>   SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>   L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>    

-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20110313/edc1683b/attachment-0001.html>


More information about the SaoPaulo-pm mailing list