helm

 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 distribution
 view release on metacpan -  search on metacpan

( run in 0.690 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )