Changeset 8043 for lang/perl/App-MadEye

Show
Ignore:
Timestamp:
03/17/08 21:00:41 (8 months ago)
Author:
tokuhirom
Message:

use Log::Dispatch.

Location:
lang/perl/App-MadEye/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/App-MadEye/trunk/Makefile.PL

    r8011 r8043  
    1616requires 'Pod::POM'; 
    1717requires 'List::Util'; 
     18requires 'Log::Dispatch'; 
    1819 
    1920features( 
  • lang/perl/App-MadEye/trunk/lib/App/MadEye.pm

    r8034 r8043  
    77use Params::Validate; 
    88use UNIVERSAL::require; 
     9use Log::Dispatch; 
    910__PACKAGE__->load_components(qw/Plaggerize Autocall::InjectMethod/); 
    1011 
     
    1920    $context = $self; 
    2021 
     22    $self->_setup_logger; 
     23 
    2124    $self; 
    2225} 
     
    2831    unless (defined $self->class_component_methods->{'run_job'}) { 
    2932        $self->log(debug => 'use Worker::Simple'); 
    30         $self->load_plugins(qw/Worker::Simple/); 
     33        $self->load_plugins(qw/Worker::Simple/ => {}); 
    3134    } 
    3235 
     
    103106} 
    104107 
     108sub _setup_logger { 
     109    my $self = shift; 
     110 
     111    my $logger = Log::Dispatch->new; 
     112    for my $conf (@{ $self->conf->{global}->{logger} || [] }) { 
     113        my $class = "Log::Dispatch::$conf->{class}"; 
     114        $class->use or die $@; 
     115        $logger->add( $class->new( %{ $conf->{config} } ) ); 
     116    } 
     117    $self->{logger} = $logger; 
     118} 
     119 
     120sub log { 
     121    my ($self, $level, $msg) = @_; 
     122    die "missing level" unless $level; 
     123    die "missing msg" unless $msg; 
     124 
     125    $self->{logger}->log( level => $level, message => "$msg\n" ); 
     126} 
     127 
    1051281; 
    106129__END__