add missing newline for no-linenumber-change dzil
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / LogRouter.pm
1 package DBIx::Class::DeploymentHandler::LogRouter;
2
3 use Moo;
4 use DBIx::Class::DeploymentHandler::Logger;
5
6 with 'Log::Contextual::Role::Router';
7
8 has _logger => (
9    is      => 'lazy',
10    builder => sub { DBIx::Class::DeploymentHandler::Logger->new },
11 );
12
13 sub handle_log_request {
14    my ($self, %message_info) = @_;
15
16    my $log_code_block = $message_info{message_sub};
17    my $args           = $message_info{message_args};
18    my $log_level_name = $message_info{message_level};
19    my $logger         = $self->_logger;
20    my $is_active      = $logger->can("is_${log_level_name}");
21
22    return unless defined $is_active && $logger->$is_active;
23
24    my $log_message = $log_code_block->(@$args);
25
26    $self->_logger->$log_level_name($log_message);
27 }
28
29 sub before_import {}
30 sub after_import {}
31
32 1;