The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mail::Log::Parse::Postfix - Parse and return info in Postfix maillogs

SYNOPSIS

  use Mail::Log::Parse::Postfix;

(See Mail::Log::Parse for more info.)

DESCRIPTION

This is a subclass of Mail::Log::Parse, which handles parsing for Postfix mail logs.

USAGE

set_year

Sets the year, for the log timestamps. If not set, the log is assumed to be for the current year. (Can also be passed in new, with the key 'year'.)

next

Returns a hash of the next line of postfix log data.

Hash keys are:

        delay_before_queue, delay_connect_setup, delay_in_queue, 
        delay_message_transmission, from, host, id, msgid, pid, program, 
        relay, size, status, text, timestamp, to, delay, connect,
        disconnect, previous_host, previous_host_name, previous_host_ip

All keys are guaranteed to be present. 'program', 'pid', 'host', 'timestamp', 'id' and 'text' are guaranteed to have a value. 'connect' and 'disconnect' are boolean: true if the line is the relevant type of line, false otherwise.

The 'text' key will have all of the log text after the standard Postfix header. (All of which is in the other keys that are required to have a value.)

BUGS

None known at the moment.

REQUIRES

Scalar::Util, Time::Local, Mail::Log::Parse, Mail::Log::Exceptions, Memoize

AUTHOR

Daniel T. Staal

DStaal@usa.net

SEE ALSO

Mail::Log::Parse, for the main documentation on this module set.

HISTORY

April 17, 2009 (1.5.1) - No longer uses _set_current_position_as_next_line, instead lets Mail::Log::Parse manage automatically. (Requires 1.4.0.)

April 9, 2009 (1.5.0) - Now reads the connecting host from the 'connect' and 'disconnect' lines in the log.

Feb 27, 2009 (1.4.12) - Quieted an occasional error, if the log line doesn't have the standard Postfix format.

Dec 23, 2008 (1.4.11) - Further speedups. Now requires Mail::Log::Parse of at least version 1.3.0.

Dec 09, 2008 (1.4.10) - Profiled code, did some speedups. Added dependency on Memoize: For large logs this is a massive speedup. For extremely sparse logs it may not be, but sparse logs are likely to be small.

Nov 28, 2008 - Switched 'total_delay' to slightly more universal 'delay'. Sped up some regexes.

Nov 11, 2008 - Switched to using the bufferable _parse_next_line instead of the unbuffered next.

Nov 6, 2008 - Added set_year and alternate year handling, in case we aren't dealing with this year's logs. (From the todo list.)

Oct 24, 2008 - Added 'connect' and 'disconnect' members to the return hash.

Oct 6, 2008 - Initial version.

COPYRIGHT and LICENSE

Copyright (c) 2008 Daniel T. Staal. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

This copyright will expire in 30 years, or 5 years after the author's death, whichever is longer.