NAME

Footprintless::Log - A log manager

VERSION

version 1.0

SYNOPSIS

# Standard way of getting a log
use Footprintless;
my $log = Footprintless->new()->log();

# Or using inline configuration
use Footprintless::Service;
my $log = Footprintless::Log->new(
    Config::Entities->new({
        entity => {
            logs => {
                catalina => '/opt/tomcat/logs/catalina.out'
            }
        }
    }),
    'logs.catalina');

# Wait for tomcat to start
$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.

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.