NAME
Log::ger::Format::MultilevelLog - Create a log($LEVEL, ...) subroutine/method
VERSION
version 0.041
SYNOPSIS
To use for the current package:
use Log::ger::Format MultilevelLog => (
# sub_name => 'log_it', # optional, defaults to 'log'
# method_name => 'log_it', # optional, defaults to 'log'
# exclusive => 1, # optional, defaults to 0
);
use Log::ger;
log('warn', 'This is a warning');
log('debug', 'This is a debug, data is %s', $data);
log_warn "This is also a warning"; # still available, unless you set exclusive to 1
DESCRIPTION
The Log::ger default is to create separate log_LEVEL
subroutine (or LEVEL
methods) for each level, e.g. log_trace
subroutine (or trace
method), log_warn
(or warn
), and so on. But sometimes you might want a log routine that takes $level as the first argument. That is, instead of:
log_warn('blah ...');
or:
$log->debug('Blah: %s', $data);
you prefer:
log('warn', 'blah ...');
or:
$log->log('debug', 'Blah: %s', $data);
This format plugin can create such log routine for you.
Note: the multilevel log is slightly slower because of the extra argument and additional string level -> numeric level conversion. See benchmarks in Bencher::Scenarios::Log::ger.
Note: the individual separate log_LEVEL
subroutines (or LEVEL
methods) are still installed, unless you specify configuration "exclusive" to true.
CONFIGURATION
sub_name
String. Defaults to log
.
method_name
String. Defaults to log
.
exclusive
Boolean. If set to true, will block the generation of the default log_LEVEL
subroutines or LEVEL
methods (e.g. log_warn
, trace
, ...).
SEE ALSO
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2023, 2022, 2020, 2019, 2018, 2017 by perlancar <perlancar@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.