#!/usr/bin/perl
use strict;
use warnings;
use Log::Handler;
use Text::CSV;

my $log = Log::Handler->new();
my $csv = Text::CSV->new();

$log->add(
    screen => {
        maxlevel        => 'info',
        newline         => 1,
        message_layout  => '%m',
        message_pattern => '%T %L %P %t',
        prepare_message => sub {
            my $m = shift;
            $csv->combine(@{$m}{qw/time level pid mtime message/});
            $m->{message} = $csv->string;
        },
    }
);

$log->info('foo');
$log->info('bar');
$log->info('baz');