NAME

Footprintless::Log - A log manager

VERSION

version 1.01

SYNOPSIS

# 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'});

DESCRIPTION

Provides access to read from log files.

ENTITIES

A log entity is simply a name/value:

catalina => '/opt/tomcat/logs/catalina.out'

They will inherit all of their command options (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'
    }
    sudo_username => 'apache'
}

CONSTRUCTORS

new($entity, $coordinate, %options)

Constructs a new log manager configured by the $entities at $coordinate. The supported options are:

command_options_factory

The command options factory to use. Defaults to an instance of Footprintless::CommandOptionsFactory using the localhost instance of this object.

command_runner

The command runner to use. Defaults to an instance of Footprintless::CommandRunner::IPCRun.

localhost

The localhost alias resolver to use. Defaults to an instance of Footprintless::Localhost configured with load_all().

METHODS

cat(%options)

Executes the cat command on this log. The available options are:

options

Command line options passed to the cat command

follow(%options)

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

Runner options to be passed on to the command runner.

until

The command will stop once the regex supplied is matched to the output.

grep(%options)

Executes the grep command on this log. The available options are:

options

Command line options passed to the grep command

head(%options)

Executes the head command on this log. The available options are:

options

Command line options passed to the head command

tail(%options)

Executes the tail command on this log. The available options are:

options

Command line options passed to the tail command

AUTHOR

Lucas Theisen <lucastheisen@pastdev.com>

COPYRIGHT AND LICENSE

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.

SEE ALSO

Please see those modules/websites for more information related to this module.