BuzzSaw::Parser - A Moose role which defines the BuzzSaw parser interface
This documentation refers to BuzzSaw::Parser version 0.12.0
package BuzzSaw::Parser::Example; use Moose;
with 'BuzzSaw::Parser';
sub parse_line { my ( $self, $line ) = @_; ...
return %event; }
This is a Moose role which is used to define the required interface for a BuzzSaw parser module. The parser modules are used to split a log entry into separate parts, e.g. date, program, pid, message. Mostly this is a case of being able to handle the particular date/time format being used in the log entry (e.g. RFC3339).
The BuzzSaw project provides a suite of tools for processing log file entries. Entries in files are parsed and filtered into a set of events of interest which are stored in a database. A report generation framework is also available which makes it easy to generate regular reports regarding the events discovered.
There are no attributes in this role.
Any class which implements this role must provide the following method.
Any class which implements this role must provide an implementation of the parse_line method. This method will be called for every entry found (so make sure the code is not too slow). It takes a string and returns a hash which contains the details of the various parts of the entry.
parse_line
The following date and time attributes must always be set in the returned hash: year, month, day, hour, minute, second. If a time-zone is specified in the log entry it should be returned with the key time_zone. These field names must match with the DateTime attributes.
year
month
day
hour
minute
second
time_zone
The message attribute must always be defined (even if it is just an empty string). The program and pid attributes are optional.
message
program
pid
This module is powered by Moose.
BuzzSaw, BuzzSaw::Filter, BuzzSaw::Parser::RFC3339
This is the list of platforms on which we have tested this software. We expect this software to work on any Unix-like platform which is supported by Perl.
ScientificLinux6
Please report any bugs or problems (or praise!) to bugs@lcfg.org, feedback and patches are also always very welcome.
Stephen Quinney <squinney@inf.ed.ac.uk>
Copyright (C) 2012 University of Edinburgh. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the terms of the GPL, version 2 or later.
To install BuzzSaw::DB, copy and paste the appropriate command in to your terminal.
cpanm
cpanm BuzzSaw::DB
CPAN shell
perl -MCPAN -e shell install BuzzSaw::DB
For more information on module installation, please visit the detailed CPAN module installation guide.