[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