#!/usr/bin/perl
use strict;
use warnings;
use Test::More 'no_plan';
use ok 'Log::Dispatch::Binlog::File';
use ok 'Log::Dispatch::Binlog::Handle';
use Test::TempDir;
use Storable qw(fd_retrieve);
{
my $tmp = temp_root->file("log1");
my $file = Log::Dispatch::Binlog::File->new(
min_level => "debug",
name => "file",
filename => $tmp->stringify,
);
isa_ok( $file, "Log::Dispatch::File" );
$file->log_message( my %p = ( level => "warn", message => "blah", name => "file" ) );
my $fh = $tmp->open;
is_deeply(
fd_retrieve($fh),
\%p,
"stored to file",
);
}
{
my $tmp = temp_root->file("log2");
my $wh = $tmp->open("w");
$wh->autoflush(1);
my $file = Log::Dispatch::Binlog::Handle->new(
min_level => "debug",
name => "handle",
handle => $wh,
);
isa_ok( $file, "Log::Dispatch::Handle" );
$file->log_message( my %p = ( level => "warn", message => "blah", name => "handle" ) );
my $fh = $tmp->open;
is_deeply(
fd_retrieve($fh),
\%p,
"stored to file",
);
}