[SP-pm] FILEHANDLE LOGFILE or INFILE

Leonardo Ruoso leonardo at ruoso.com
Thu Feb 5 13:21:10 PST 2015


Em 5 de fevereiro de 2015 19:16, Leonardo Ruoso <leonardo em ruoso.com>
escreveu:

> Em 5 de fevereiro de 2015 19:03, Daniel de Oliveira Mantovani <
> daniel.oliveira.mantovani em gmail.com> escreveu:
>
>> O de graça depois que você sabe o que está fazendo é plausível, do outro
>> lado te faz uma ameba.
>>
>
> http://poe.perl.org/?POE_Cookbook/Tail_Following_Web_Server
>

http://poe.perl.org/?POE_Cookbook/Watching_Logs


>
>
>
>>
>> 2015-02-05 18:57 GMT-02:00 Leonardo Ruoso <leonardo em ruoso.com>:
>>
>> Em 4 de fevereiro de 2015 15:51, Daniel de Oliveira Mantovani <
>>> daniel.oliveira.mantovani em gmail.com> escreveu:
>>>
>>>> BTW, você está lendo o arquivo de log do WebSphere Application Server,
>>>> SystemOut.log mesmo que você consiga implementar o "tail" que você está
>>>> tentando implementar, você vai ter problemas pois o WebSphere Application
>>>> Server "rotate" o arquivo, sendo assim o seu programa vai perder o ID do
>>>> descritor de arquivos e vai parar de funcionar. Para resolver o problema,
>>>> além de você implementar o seu "tail", você precisa ficar verificando se o
>>>> ID do SystemOut.log mudou. É fácil de implementar e você vai aprender
>>>> vários conceitos de Unix-like do caminho, estamos aqui para ajudar.
>>>>
>>>
>>> Hmmm, o POE::Wheel::FollowTail e muitos outros módulos fazem isso de
>>> graça :D
>>>
>>>
>>>
>>>>
>>>> 2015-02-04 15:45 GMT-02:00 Daniel de Oliveira Mantovani <
>>>> daniel.oliveira.mantovani em gmail.com>:
>>>>
>>>> Kleber, tem um livro chamado Advanced Programming In the Unix
>>>>> Environment. Eu recomendo você ler o capítulo 3 - File I/O a sua dúvida não
>>>>> tem a ver com Perl e sim com conceitos de O.S.
>>>>>
>>>>> 2015-02-04 15:10 GMT-02:00 Renato Santos <renato.cron em gmail.com>:
>>>>>
>>>>> seu programa já está feito, alguem que criou esses nomes e filehandles.
>>>>>>
>>>>>> o seek esta mandando ir para a ultima posicao (3 parametro com valor
>>>>>> 2).
>>>>>> o tell esta mandando retornar a posicao atual.
>>>>>>
>>>>>> signfica que o LOGFILE esta na posicao 56666091(bytes/char?)
>>>>>>
>>>>>> 2015-02-04 15:01 GMT-02:00 Kleber Rodrigo de Carvalho <
>>>>>> kleber.carvalho em gmail.com>:
>>>>>>
>>>>>> Olá
>>>>>>>
>>>>>>> Disponibilizei meu código aqui: http://pastebin.com/T6AGHm2n
>>>>>>>
>>>>>>>
>>>>>>> Minha duvida é:
>>>>>>>
>>>>>>>  seek($filehandler, 0, 2);
>>>>>>>  $curreof = tell($filehandler);
>>>>>>>  print("curreof=" . $curreof . "\n");
>>>>>>>
>>>>>>>
>>>>>>> Porque quando eu executo esse trecho de código acima usando LOGFILE,
>>>>>>> eu recebo curreof=56666091
>>>>>>> O que isso significar?
>>>>>>>
>>>>>>> Obrigado
>>>>>>>
>>>>>>> Abraços
>>>>>>> Kleber Rodrigo de Carvalho
>>>>>>> Engenheiro de Software
>>>>>>> KleberCarvalho.com | (15) 9-9161-3362
>>>>>>>
>>>>>>> Cara, estou achando que você está lendo um programa já feito, que
>>>>>>> esta
>>>>>>> usando *FILEHANDLE* em si, com esses nomes (LOGFILE, INLINE)
>>>>>>>
>>>>>>> O jeito mais seguro, é usar um FH dentro de uma ref,
>>>>>>>
>>>>>>> # ler em binario
>>>>>>> open(my $fh, '<:raw', '/tmp/foo.bin');
>>>>>>> while( my $somebytes = <$fh>){ . .. }
>>>>>>>
>>>>>>> # ler em utf8
>>>>>>> open(my $fh, '<:utf8', '/tmp/tmp.utf8');
>>>>>>> while( my $line = <$fh>){ . .. }
>>>>>>>
>>>>>>> # escrever em utf8
>>>>>>> open(my $fh, '>:utf8', '/tmp/tmp.utf8');
>>>>>>> print $fh "uma linha\n";
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2015-02-04 14:07 GMT-02:00 Gabriel Vieira <gabriel.vieira at
>>>>>>> gmail.com>:
>>>>>>>
>>>>>>> Cara, estou achando que você está lendo um programa já feito, que
>>>>>>> esta
>>>>>>> usando *FILEHANDLE* em si, com esses nomes (LOGFILE, INLINE)
>>>>>>>
>>>>>>> O jeito mais seguro, é usar um FH dentro de uma ref,
>>>>>>>
>>>>>>> # ler em binario
>>>>>>> open(my $fh, '<:raw', '/tmp/foo.bin');
>>>>>>> while( my $somebytes = <$fh>){ . .. }
>>>>>>>
>>>>>>> # ler em utf8
>>>>>>> open(my $fh, '<:utf8', '/tmp/tmp.utf8');
>>>>>>> while( my $line = <$fh>){ . .. }
>>>>>>>
>>>>>>> # escrever em utf8
>>>>>>> open(my $fh, '>:utf8', '/tmp/tmp.utf8');
>>>>>>> print $fh "uma linha\n";
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2015-02-04 14:07 GMT-02:00 Gabriel Vieira <gabriel.vieira at
>>>>>>> gmail.com>:
>>>>>>>
>>>>>>> > Qual a diferença de comportamento que você observou?
>>>>>>> >
>>>>>>> > 2015-02-04 11:05 GMT-05:00 Kleber Rodrigo de Carvalho <
>>>>>>> > kleber.carvalho at gmail.com>:
>>>>>>> >
>>>>>>> > Pessoal,
>>>>>>> >>
>>>>>>> >> Estou escrevendo um programa em Perl, e preciso entender as
>>>>>>> >> diferenças entre os FILEHANDLE.
>>>>>>> >> Por exemplo, um programa lendo um arquivo usando LOGFILE se
>>>>>>> comporta
>>>>>>> >> diferente de um usando INFILE.
>>>>>>> >> Estou procurando na internet por:
>>>>>>> >>
>>>>>>> >> perl FILEHANDLE LOGFILE INFILE
>>>>>>> >> perl LOGFILE INFILE
>>>>>>> >>
>>>>>>> >> Mas não encontrei nada. Se encontra todos os tipos de FILEHANDLE
>>>>>>>>>>>>>> >> ajudaria.
>>>>>>> >> Será que alguém poderia me ajudar nisso?
>>>>>>> >>
>>>>>>> >> Muito obrigado
>>>>>>> >>
>>>>>>> >> Abraços
>>>>>>> >> Kleber Rodrigo de Carvalho
>>>>>>> >> Engenheiro de Software
>>>>>>> >> KleberCarvalho.com | (15) 9-9161-3362
>>>>>>> =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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Saravá,
>>>>>> Renato CRON
>>>>>> http://www.renatocron.com/blog/
>>>>>> @renato_cron <http://twitter.com/#!/renato_cron>
>>>>>>
>>>>>> =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
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> -dom
>>>>>
>>>>> --
>>>>>
>>>>> Daniel de Oliveira Mantovani
>>>>> Business Analytic Specialist
>>>>> Perl Evangelist /Astrophysics hobbyist.
>>>>> +55 11 9 8538-9897
>>>>> XOXO
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> -dom
>>>>
>>>> --
>>>>
>>>> Daniel de Oliveira Mantovani
>>>> Business Analytic Specialist
>>>> Perl Evangelist /Astrophysics hobbyist.
>>>> +55 11 9 8538-9897
>>>> XOXO
>>>>
>>>> =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
>>>>
>>>>
>>>
>>>
>>> --
>>> Leonardo Ruoso
>>> Journalist, Perl developer and business consultant
>>> Media, UFC/2006; Telecom, IFCE/1998
>>>
>>> =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
>>>
>>>
>>
>>
>> --
>>
>> -dom
>>
>> --
>>
>> Daniel de Oliveira Mantovani
>> Business Analytic Specialist
>> Perl Evangelist /Astrophysics hobbyist.
>> +55 11 9 8538-9897
>> XOXO
>>
>> =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
>>
>>
>
>
> --
> Leonardo Ruoso
> Journalist, Perl developer and business consultant
> Media, UFC/2006; Telecom, IFCE/1998
>



-- 
Leonardo Ruoso
Journalist, Perl developer and business consultant
Media, UFC/2006; Telecom, IFCE/1998
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20150205/1a21f3f7/attachment-0001.html>


More information about the SaoPaulo-pm mailing list