helm
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Helm/Log/Channel/console.pm view on Meta::CPAN
package Helm::Log::Channel::console;
use strict;
use warnings;
use Moose;
use Term::ANSIColor qw(colored color);
use IO::Pipe;
use AnyEvent;
use namespace::autoclean;
extends 'Helm::Log::Channel';
has pipes => (is => 'ro', writer => '_pipes', isa => 'HashRef');
has fh => (is => 'ro', writer => '_fh');
has is_parallel => (is => 'rw', isa => 'Bool', default => 0);
my $LINE = '-' x 70;
sub initialize {
my ($self, $helm) = @_;
# default FH is STDERR
Helm->debug("Initializing output handle to STDERR");
my $fh = IO::Handle->new_from_fd(fileno(STDERR), 'w');
$self->_fh($fh);
}
sub finalize {
my ($self, $helm) = @_;
# make sure the terminal is reset
print color 'reset';
}
sub start_server {
my ($self, $server) = @_;
$self->SUPER::start_server($server);
if ($self->is_parallel) {
$self->output("Starting task on $server", 'blue');
} else {
$self->output("$LINE\n$server\n$LINE", 'blue');
}
}
sub end_server {
my ($self, $server) = @_;
$self->SUPER::end_server($server);
if (!$self->is_parallel) {
$self->fh->print("\n");
}
}
sub debug {
my ($self, $msg) = @_;
$self->output("[DEBUG] $msg", 'bright_blue');
}
sub info {
my ($self, $msg) = @_;
$self->output($msg, 'bright_green');
}
sub warn {
my ($self, $msg) = @_;
$self->output("[WARN] $msg", 'yellow');
}
sub error {
my ($self, $msg) = @_;
$self->output("[ERROR] $msg", 'red');
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.371 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )