Provided by: libdpkg-log-perl_1.20-2_all bug

NAME

       DPKG::Log - Parse the dpkg log

VERSION

       version 1.20

SYNOPSIS

       use DPKG::Log;

       my $dpkg_log = DPKG::Log->new('filename' => 'dpkg.log', 'parse' => 1);

DESCRIPTION

       This module is used to parse a logfile and store each line as a DPKG::Log::Entry object.

METHODS

       $dpkg_log = DPKG::Log->new()
       $dpkg_log = DPKG::Log->new('filename' => 'dpkg.log')
       $dpkg_log = DPKG::Log->new('filename' => 'dpkg.log', 'parse' => 1 )
           Returns a new DPKG::Log object. If parse is set to a true value the logfile specified
           by filename is parsed at the end of the object initialisation.  Otherwise the parse
           routine has to be called.  Filename parameter can be omitted, it defaults to
           /var/log/dpkg.log.

           Optionally its possible to specify from or to arguments as timestamps in the standard
           dpkg.log format or as DateTime objects.  This will limit the entries which will be
           stored in the object to entries in the given timerange.  Note that, if this is not
           what you want, you may ommit these attributes and can use filter_by_time() instead.

           By default the module will assume that those timestamps are in the local timezone as
           determined by DateTime::TimeZone. This can be overridden by giving the argument
           time_zone which takes a timezone string (e.g. 'Europe/Berlin') or a DateTime::TimeZone
           object.  Additionally its possible to override the timestamp_pattern by specifying
           timestamp_format. This has to be a valid pattern for DateTime::Format::Strptime.

       $dpkg_log->filename
       $dpkg_log->filename('newfilename.log')
           Get or set the filename of the dpkg logfile.

       $dpkg_log->parse
       $dpkg_log->parse('time_zone' => 'Europe/Berlin')
       $dpkg_log->parse('time_zone' => $dt_tz )
           Call the parser.

           The time_zone parameter is optional and specifies in which time zone the dpkg log
           timestamps are.  If its omitted it will use the default local time zone.  Its possible
           to specify either a DateTime::TimeZone object or a string.

       @entries = $dpkg_log->entries;
       @entries = $dpkg_log->entries('from' => '2010-01-01.10:00:00', to => '2010-01-02
       24:00:00')
           Return all entries or all entries in a given timerange.

           from and to are optional arguments, specifying a date before (from) and after (to)
           which entries aren't returned.  If only to is specified all entries from the beginning
           of the log are read.  If only from is specified all entries till the end of the log
           are read.

       $entry = $dpkg_log->next_entry;
           Return the next entry.

       @entries = $dpkg_log->filter_by_time(from => ts, to => ts)
       @entries = $dpkg_log->filter_by_time(from => ts)
       @entries = $dpkg_log->filter_by_time(to => ts)
       @entries = $dpkg_log->filter_by_time(from => ts, to => ts, entry_ref => $entry_ref)
           Filter entries by given from - to range. See the explanations for the new sub for the
           arguments.

           If entry_ref is given and an array reference its used instead of $self->{entries} as
           input source for the entries which are to be filtered.

       ($from, $to) = $dpkg_log->get_datetime_info()
           Returns the from and to timestamps of the logfile or (if from/to values are set) the
           values set during object initialisation.

SEE ALSO

       DPKG::Log::Entry, DateTime, DateTime::TimeZone

AUTHOR

       Patrick Schoenfeld <schoenfeld@debian.org>.

COPYRIGHT AND LICENSE

       Copyright (C) 2011 Patrick Schoenfeld <schoenfeld@debian.org>

       This library is free software.  You can redistribute it and/or modify it under the same
       terms as perl itself.