NAME

BuzzSaw::Parser - A Moose role which defines the BuzzSaw parser interface

VERSION

This documentation refers to BuzzSaw::Parser version 0.10.4

SYNOPSIS

package BuzzSaw::Parser::Example; use Moose;

with 'BuzzSaw::Parser';

sub parse_line { my ( $self, $line ) = @_; ...

return %event;
}

DESCRIPTION

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.

ATTRIBUTES

There are no attributes in this role.

SUBROUTINES/METHODS

Any class which implements this role must provide the following method.

%results = $parser->parse_line($log_entry)

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.

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.

The message attribute must always be defined (even if it is just an empty string). The program and pid attributes are optional.

DEPENDENCIES

This module is powered by Moose.

SEE ALSO

BuzzSaw, BuzzSaw::Filter, BuzzSaw::Parser::RFC3339

PLATFORMS

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

BUGS AND LIMITATIONS

Please report any bugs or problems (or praise!) to bugs@lcfg.org, feedback and patches are also always very welcome.

AUTHOR

Stephen Quinney <squinney@inf.ed.ac.uk>

LICENSE AND COPYRIGHT

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.