NAME
PAUSEx::Log - Access the PAUSE log
SYNOPSIS
use v5.36;
use PAUSEx::Log;
my $start = time;
FETCH: while( 1 ) {
last if time - $start > 10 * 60;
my $entries = PAUSEx::Log->fetch_log();
MESSAGE: foreach my $entry ( $entries->@* ) {
next unless $entry->is_for_pauseid( 'BDFOY' );
say $entry->message;
last FETCH if ...
}
sleep 5*60;
}
DESCRIPTION
The Perl Authors Upload Server provides a tail of its log file so module authors can check the progress of their modules through the PAUSE process. This might take several minutes from the time of upload, and I want to monitor the log until I know my latest release has been seen by PAUSE.
This module fetches that log and digests it in various ways.
Class methods
- fetch_log( PAUSE_USER, PAUSE_PASS )
-
Fetch the PAUSE log, using your PAUSE ID and password. You can also set these in the
CPAN_PASS
andCPAN_PASS
environment variables, which this function will automatically pick up.
Instance methods
- can( METHOD )
-
Returns true if the message contains that information since different types of message have different things they record. For example, not all messages contain the PAUSE ID
if( $entry->can('pause_id') ) { ... }
- date
-
(Common) The date of the log line, in YYYY-MM-DD
- distname
-
The distribution name (Foo-Bar-1.23.tgz), if the message refers to one.
- for_pause_id( PAUSE_ID )
-
Returns true if the log message is about PAUSE_ID.
foreach my $entry ( fetch()->@* ) { next unless $entry->for_pause_id( 'BDFOY' ); ... }
- id
-
(Common) A made up unique ID for the log message so you can tell if you've seen that log line before.
- level
-
(Common) The log level
- message
-
(Common) The log message
- pause_id
-
The PAUSE ID of the message, if the message refers to one
- time
-
(Common) The time of the log entry
- type
-
(Common) The type of message
TO DO
SEE ALSO
SOURCE AVAILABILITY
This source is in Github:
http://github.com/briandfoy/pausex-log
AUTHOR
brian d foy, <brian d foy>
COPYRIGHT AND LICENSE
Copyright © 2023-2025, brian d foy, All Rights Reserved.
You may redistribute this under the terms of the Artistic License 2.0.