NAME
SNMP::LogParserDriver::ExampleDriver
SYNOPSIS
This is an example Driver class to check for strings in the log file of the form "test string". Every time that this string is found the variable "counter" is incremented.
DESCRIPTION
Here we show each of the functions
new
New is just a passthrough to the parent class
sub new {
my $class = shift;
my $self = $class->SUPER::new();
bless ($self, $class);
return $self;
}
evalBegin
Here we initialize the "counter" variable. We declare it in the "savespace" hash so that it is persistent across run invocations of logparser
sub evalBegin {
my $self = shift;
$self->{savespace}{counter} = 0 if (!defined($self->{savespace}{counter}));
$self->{savespace}{lines} = 0 if (!defined($self->{savespace}{counter}));
}
evalIterate
Here we parse each line, incrementing the counter value if it matches the string (we also keep track of lines)
sub evalIterate {
my $self = shift;
my ($line) = @_;
$self->{savespace}{lines} ++;
if ($line =~ /test string/g) {
$self->{savespace}{counter} ++;
}
}
evalEnd
Here we tell the system that we want to output on the properties file all the variables in the save space...
sub evalEnd {
my $self = shift;
$self->properties($self->savespace);
}
REQUIREMENTS AND LIMITATIONS
OPTIONS
BUGS
TODO
document logger.
SEE ALSO
AUTHOR
Nito@Qindel.es -- 7/9/2006