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.

%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.


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.



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


    Stephen Quinney <>


    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.