Beekeeper
view release on metacpan or search on metacpan
lib/Beekeeper/Service/LogTail.pm view on Meta::CPAN
package Beekeeper::Service::LogTail;
use strict;
use warnings;
our $VERSION = '0.10';
use Beekeeper::Client;
# Show errors from perspective of caller
$Carp::Internal{(__PACKAGE__)}++;
sub tail {
my ($class, %args) = @_;
my $client = Beekeeper::Client->instance;
my $guard = $client->__use_authorization_token('BKPR_ADMIN');
my $timeout = delete $args{'timeout'};
my $resp = $client->call_remote(
method => '_bkpr.logtail.tail',
params => \%args,
timeout => $timeout,
);
return $resp->result;
}
sub tail_async {
my ($class, %args) = @_;
my $on_success = delete $args{'on_success'};
my $on_error = delete $args{'on_error'};
unless ($on_error) {
my ($file, $line) = (caller)[1,2];
$on_error = sub { die $_[0]->message . " at $file line $line\n"; };
}
my $client = Beekeeper::Client->instance;
my $guard = $client->__use_authorization_token('BKPR_ADMIN');
my $timeout = delete $args{'timeout'};
$client->call_remote_async(
method => '_bkpr.logtail.tail',
params => \%args,
timeout => $timeout,
on_success => $on_success,
on_error => $on_error,
);
}
1;
__END__
=pod
=encoding utf8
=head1 NAME
Beekeeper::Service::LogTail - Buffer log entries
=head1 VERSION
Version 0.09
=head1 SYNOPSIS
my $entries = Beekeeper::Service::LogTail->tail(
count => 100,
level => LOG_DEBUG,
host => '.*',
pool => '.*',
service => 'myapp-foo',
message => 'Use of uninitialized value',
after => now() - 10,
);
print "$_->{message}\n" foreach @$entries;
Beekeeper::Service::LogTail->tail_async(
count => 100,
on_success => sub {
my ($entries) = @_;
print "$_->{message}\n" foreach @$entries;
},
on_error => sub {
my ($error) = @_;
die $error->message;
},
);
=head1 DESCRIPTION
( run in 2.122 seconds using v1.01-cache-2.11-cpan-364913b4093 )