Log::ger::Plugin::OptAway - Optimize away higher-level log statements
version 0.004
use Log::ger::Plugin->set('OptAway'); use Log::ger;
To demonstrate the effect of optimizing away:
% perl -MLog::ger -MO=Deparse -e'log_warn "foo\n"; log_debug "bar\n"' log_warn("foo\n"); log_debug("bar\n"); -e syntax OK % perl -MLog::ger::Plugin=OptAway -MLog::ger -MO=Deparse -e'log_warn "foo\n"; log_debug "bar\n"' log_warn("foo\n"); '???'; -e syntax OK
This plugin replaces logging statements that are higher than the current level ($Log::ger::Current_Level) into a no-op statement using B::CallChecker magic at compile-time. The logging statements will become no-op and will have zero run-time overhead.
$Log::ger::Current_Level
By default, since $Current_Level is pre-set at 3 (warn) then log_info(), log_debug(), and log_trace() calls will be turned into no-op.
$Current_Level
log_info()
log_debug()
log_trace()
Caveats:
must be done at compile-time
only works when you are using procedural style
once optimized away, subsequent logger reinitialization at run-time won't take effect
perlancar <perlancar@cpan.org>
This software is copyright (c) 2017 by 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.
To install Log::ger::Plugin::OptAway, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Log::ger::Plugin::OptAway
CPAN shell
perl -MCPAN -e shell install Log::ger::Plugin::OptAway
For more information on module installation, please visit the detailed CPAN module installation guide.