oracular (3) Log::ger::Format::MultilevelLog.3pm.gz

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.