Parse::Syslog - Syslogdateien einfach parsen

Veröffentlicht von Thomas Fahle am (Permalink)

Parse::Syslog von David Schweiker vereinfacht das parsen der Log-Einträge in Syslog-Dateien erheblich.

Beispiel:

#!/usr/bin/perl
use warnings;
use strict;

use Parse::Syslog;

my $syslog_parser = Parse::Syslog->new( '/var/log/syslog');

while ( my $entry = $syslog_parser->next() ) {
    print $entry->{host};
    print '|';
    print $entry->{program};
    print '|';
    print $entry->{timestamp};
    print '|';
    print scalar localtime( $entry->{timestamp} );
    print '|';
    print $entry->{text};
    print "\n";
}

 

Beispiel: Kombination mit File::Tail

Parse::Syslog kann auch in Kombination mit File::Tail eingesetzt werden.

#!/usr/bin/perl
use warnings;
use strict;

use File::Tail;
use Parse::Syslog;

my $file = File::Tail->new( name => '/var/log/syslog');

my $syslog_parser = Parse::Syslog->new( $file );

while ( my $entry = $syslog_parser->next() ) {
    print $entry->{host};
    print '|';
    print $entry->{program};
    print '|';
    print $entry->{timestamp};
    print '|';
    print scalar localtime( $entry->{timestamp} );
    print '|';
    print $entry->{text};
    print "\n";
}

 

Siehe auch

Weitere Posts