helm
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Helm/Log.pm view on Meta::CPAN
package Helm::Log;
use strict;
use warnings;
use Moose;
use Moose::Util::TypeConstraints qw(enum);
use namespace::autoclean;
enum LOG_LEVEL => qw(debug info warn error);
has channels => (
is => 'ro',
writer => '_channels',
isa => 'ArrayRef[Helm::Log::Channel]',
default => sub { [] },
);
has log_level => (
is => 'ro',
writer => '_log_level',
isa => 'LOG_LEVEL',
default => 'info',
);
sub add_channel {
my ($self, $channel) = @_;
push(@{$self->channels}, $channel);
}
sub initialize {
my ($self, $helm) = @_;
$_->initialize($helm) foreach @{$self->channels};
}
sub finalize {
my ($self, $helm) = @_;
$_->finalize($helm) foreach @{$self->channels};
}
sub parallelize {
my ($self, $helm) = @_;
$_->parallelize($helm) foreach @{$self->channels};
}
sub start_server {
my ($self, $server, $task) = @_;
$_->start_server($server, $task) foreach @{$self->channels};
}
sub end_server {
my ($self, $server, $task) = @_;
$_->end_server($server, $task) foreach @{$self->channels};
}
sub forked {
my ($self, $type) = @_;
$_->forked($type) foreach @{$self->channels};
}
sub debug {
my ($self, $msg) = @_;
if( $self->log_level eq 'debug' ) {
$_->debug($msg) foreach @{$self->channels};
}
}
sub info {
my ($self, $msg) = @_;
if($self->log_level eq 'debug' || $self->log_level eq 'info') {
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.690 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )