NAME
Log::Contextual::SimpleLogger - Super simple logger made for playing with Log::Contextual
VERSION
version 0.009001
SYNOPSIS
-logger
=> Log::Contextual::SimpleLogger->new({
levels
=> [
qw( debug )
]});
log_info {
'program started'
};
# no-op because info is not in levels
sub
foo {
log_debug {
'entered foo'
};
...
}
DESCRIPTION
This module is a simple logger made mostly for demonstration and initial experimentation with Log::Contextual. We recommend you use a real logger instead. For something more serious but not overly complicated, take a look at Log::Dispatchouli.
METHODS
new
Arguments: Dict[ levels => Optional[ArrayRef[Str]], levels_upto => Level, coderef => Optional[CodeRef], ] $conf
my
$l
= Log::Contextual::SimpleLogger->new({
levels
=> [
qw( info warn )
],
coderef
=>
sub
{
@_
},
# the default prints to STDERR
});
or
my
$l
= Log::Contextual::SimpleLogger->new({
levels_upto
=>
'debug'
,
coderef
=>
sub
{
@_
},
# the default prints to STDERR
});
Creates a new SimpleLogger object with the passed levels enabled and optionally a CodeRef
may be passed to modify how the logs are output/stored.
levels_upto
enables all the levels up to and including the level passed.
Levels may contain:
trace
debug
info
warn
error
fatal
$level
Arguments: @anything
All of the following six methods work the same. The basic pattern is:
sub
$level
{
my
$self
=
shift
;
STDERR
"[$level] "
.
join
qq{\n}
,
@_
;
if
$self
->is_
$level
;
}
trace
$l
->trace(
'entered method foo with args '
join
q{,}
,
@args
);
debug
$l
->debug(
'entered method foo'
);
info
$l
->info(
'started process foo'
);
warn
$l
->
warn
(
'possible misconfiguration at line 10'
);
error
$l
->error(
'non-numeric user input!'
);
fatal
$l
->fatal(
'1 is never equal to 0!'
);
Note: fatal
does not call die
for you, see "EXCEPTIONS AND ERROR HANDLING" in Log::Contextual
is_$level
All of the following six functions just return true if their respective level is enabled.
is_trace
say
'tracing'
if
$l
->is_trace;
is_debug
say
'debuging'
if
$l
->is_debug;
is_info
say
q{info'ing}
if
$l
->is_info;
is_warn
say
'warning'
if
$l
->is_warn;
is_error
say
'erroring'
if
$l
->is_error;
is_fatal
say
q{fatal'ing}
if
$l
->is_fatal;
BUGS
Please report any bugs or feature requests on the bugtracker website https://github.com/haarg/Log-Contextual/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHOR
Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2024 by Arthur Axel "fREW" Schmidt.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.