table of contents
| Log::ger::Format::MultilevelLog(3pm) | User Contributed Perl Documentation | Log::ger::Format::MultilevelLog(3pm) |
NAME¶
Log::ger::Format::MultilevelLog - Create a log($LEVEL, ...) subroutine/method
VERSION¶
version 0.042
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¶
Log::ger::Format::HashArgs
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.
| 2024-05-25 | perl v5.38.2 |