NAME
Data::AnyXfer::Elastic::Logger
SYNOPSIS
my
$logger
= Data::AnyXfer::Elastic::Logger->new(
dir
=>
'Str|Path::Class::Dir'
,
# optional
options
=> {
# optional
screen
=> {},
file_rotate
=> {},
},
screen
=> 0,
# false by default
file
=> 1,
# true by default
);
# alias = employees
my
$datafile1
= Datafile->new(
file
=>
'employees.datafile'
);
# by default will log to ../elasticsearch/logs/dd-mm-yyyy/employees
$logger
->debug(
index_info
=>
$datafile1
,
text
=>
'Blah Blah Blah!'
,
content
=> \
@errors
);
# alias = interiors
my
$datafile2
= Datafile->new(
file
=>
'interiors.datafile'
);
# by default will log to ../elasticsearch/logs/dd-mm-yyyy/interiors
$logger
->critical(
index_info
=>
$datafile2
,
text
=>
'Oops! Something went wrong!'
,
content
=> Search::Elasticsearch::Error::Request->new;
);
DESCRIPTION
This module is based of Log::Dispatch to log Elasticsearch events and errors.
ATTRIBUTES
destination
Defines the directory location of logging. Defaults to CWD
/logs/yyyy-mm-dd/alias_name.
file
Log to file. Defaults to true.
screen
Log to screen. Defaults to false.
options
These define the options for Log::Dispatch::Screen
and Log::Dispatch::Screen
please refer to their documentation. Note that for FileRotate the arguement filename will be overwritten.
Must be in the format:
{
screen
=> { Log::Dispatch::Screen options }
file_rotate
=> { Log::Dispatch::FileRotate options }
}
METHODS
Logging:
my
%args
= (
index_info
=>
$df
,
text
=>
''
,
content
=>
$struct
);
$logger
->debug(
%args
);
$logger
->info(
%args
);
$logger
->notice(
%args
);
$logger
->warning(
%args
);
$logger
->error(
%args
);
$logger
->critical(
%args
);
$logger
->alert(
%args
);
$logger
->emergency(
%args
);
All logging methods have the arguements: index_info, text and content. Content can be either a perl data structure or a Search::Elasticsearch::Error::Request
object.
COPYRIGHT
This software is copyright (c) 2019, Anthony Lucas.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.