The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Footprintless::Log - A log manager

VERSION

version 1.05

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 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'
    }

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.