1use Test::More;
2use Search::Elasticsearch;
3use File::Temp;
4my $file = File::Temp->new( EXLOCK => 0 );
5
6# default
7
8isa_ok my $l = Search::Elasticsearch->new->logger,
9    'Search::Elasticsearch::Logger::LogAny',
10    'Default Logger';
11
12is $l->log_as,   'elasticsearch.event', 'Log as';
13is $l->trace_as, 'elasticsearch.trace', 'Trace as';
14isa_ok $l->log_handle->adapter, 'Log::Any::Adapter::Null',
15    'Default - Log to NULL';
16isa_ok $l->trace_handle->adapter, 'Log::Any::Adapter::Null',
17    'Default - Trace to NULL';
18
19# stdout/stderr
20
21isa_ok $l
22    = Search::Elasticsearch->new( log_to => 'Stderr', trace_to => 'Stdout' )
23    ->logger,
24    'Search::Elasticsearch::Logger::LogAny',
25    'Std Logger';
26
27isa_ok $l->log_handle->adapter, 'Log::Any::Adapter::Stderr',
28    'Std - Log to Stderr';
29isa_ok $l->trace_handle->adapter, 'Log::Any::Adapter::Stdout',
30    'Std - Trace to Stdout';
31
32# file
33
34isa_ok $l = Search::Elasticsearch->new(
35    log_to   => [ 'File', $file->filename ],
36    trace_to => [ 'File', $file->filename ]
37    )->logger, 'Search::Elasticsearch::Logger::LogAny',
38    'File Logger';
39
40isa_ok $l->log_handle->adapter, 'Log::Any::Adapter::File',
41    'File - Log to file';
42isa_ok $l->trace_handle->adapter, 'Log::Any::Adapter::File',
43    'File - Trace to file';
44
45done_testing;
46