Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: is File::Tail usable on Windows ?

by JamesNC (Chaplain)
on Nov 27, 2003 at 17:58 UTC ( [id://310569]=note: print w/replies, xml ) Need Help??


in reply to is File::Tail usable on Windows ?

Try using POE, the following code and other goodies are available at http://poe.perl.org in the POE_Cookbook directory under Watching_Logs.

POE is arrow that is definitely worth the effor of learning IMHO. But this code should get you tail functionality on threaded AS :0)
#!/usr/bin/perl -w # http://poe.perl.org/?POE_Cookbook/Watching_Logs use POE qw/Wheel::FollowTail/; use strict; $| = 1; my $filename = $ARGV[0]; die "Usage: $0 <filename>\n" unless $filename; die "$0: $filename: No such file or directory\n" unless -e $filename; die "$0: $filename: Permission denied\n" unless -r $filename; POE::Session->create ( inline_states => { _start => sub { $_[HEAP]->{wheel} = POE::Wheel::FollowTail->new( Filename => $_[ARG0], InputEvent => 'got_line', ErrorEvent => 'got_error', SeekBack => 1024, ); $_[HEAP]->{first} = 0; }, got_line => sub { print "$_[ARG0]\n" if $_[HEAP]->{first}++ }, got_error => sub { warn "$_[ARG0]\n" }, }, args => [$filename], ); $poe_kernel->run();
Happy Thanksgiving!
JamesNC

Replies are listed 'Best First'.
Re^2: is File::Tail usable on Windows ?
by Anonymous Monk on Mar 14, 2010 at 08:45 UTC
    Fantastic, This code works as a good replacement for tail. Meanwhile, can someone let me know how can i do the following - a) There is an exe that is already running and the debug messages are coming on the win32 console b) I need to capture this using the WIN32::GUI or WIN32::Console. c) is there an easy way of doing. d) one way is using tail for the file logging. Please let me know your comments on the following mail id - balvinder.p.singh@gmail.com BR Balvinder.

      It is far easier if you start capturing when you start the command, but see Re: Capturing the text in a Console Window for a simple script that will capture all the text currently in a console buffer.

      This will include any that has scolled off the top, (up to the limits of the console buffer size), but note that if more has already scrolled of than could be held, you'll loose data. And any that comes after you capture will not be available to you.

      You can try doing multiple captures, but then you'll have to try and stitch them together, discarding any that is duplicated in the second and subsequent captures.

      It would be far easier to start the command and redirect the output you want into to a file, perhaps via tee.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://310569]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2024-03-29 01:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found