version 1.20
use DPKG::Log;
my $dpkg_log = DPKG::Log->new('filename' => 'dpkg.log', 'parse' => 1);
This module is used to parse a logfile and store each line as a DPKG::Log::Entry object.
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.
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.
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.
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.
DPKG::Log::Entry, DateTime, DateTime::TimeZone
Patrick Schoenfeld <schoenfeld@debian.org>.
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.