Footprintless::Log - A log manager
version 1.19
# Standard way of getting a log use Footprintless; my $log = Footprintless->new()->log(); # Wait for a started message before proceeding $log->follow(until => qr/Started in \d+/); # Check for errors during startup my $error_messages = $log->grep(options => {'ERROR'});
Provides access to read from log files.
A log entity can be a simple entity:
catalina => '/opt/tomcat/logs/catalina.out'
Or it can be a hashref entity containing, at minimum, a file
entity:
catalina => { file => '/var/log/external/web/catalina.out', hostname => 'loghost.pastdev.com' }
All unspecified command options will be inherited (hostname
, ssh
, sudo_username
, username
) from their ancestry. Logs are commonly grouped together:
web => { hostname => 'web.pastdev.com', logs => { error => '/var/log/httpd/error_log', access => '/var/log/httpd/access_log' catalina => { file => '/opt/tomcat/logs/catalina.out', hostname => 'app.pastdev.com', sudo_username => 'tomcat' } } sudo_username => 'apache' }
Constructs a new log manager configured by the $entities
at $coordinate
. The supported options are:
The command options factory to use. Defaults to an instance of Footprintless::CommandOptionsFactory using the localhost
instance of this object.
The command runner to use. Defaults to an instance of Footprintless::CommandRunner::IPCRun.
The localhost alias resolver to use. Defaults to an instance of Footprintless::Localhost configured with load_all()
.
Executes the cat
command on this log. The available options are:
Command line options passed to the cat
command
Executes the tail
command with the -f
(follow) option and sets the command runner options to pass the STDOUT
from tail to this STDOUT
.
Runner options to be passed on to the command runner.
The command will stop once the regex supplied is matched to the output.
Executes the grep
command on this log. The available options are:
Command line options passed to the grep
command
Executes the head
command on this log. The available options are:
Command line options passed to the head
command
Executes the tail
command on this log. The available options are:
Command line options passed to the tail
command
Lucas Theisen <lucastheisen@pastdev.com>
This software is copyright (c) 2016 by Lucas Theisen.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Please see those modules/websites for more information related to this module.