Package : perl-Log-Any-IfLOG

Package details

Summary: Load Log::Any only if "logging is enabled"

Description:
This module is a drop-in replacement/wrapper for Log::Any to be used
from your modules. This is a quick-hack solution to avoid the cost of
loading Log::Any under "normal condition". Since Log::Any 1.00, startup
overhead increases to about 7-10ms on my PC/laptop (from under 1ms for
the previous version). Because I want to keep startup overhead of CLI
apps under 50ms (see Perinci::CmdLine::Lite) to keep tab completion
from getting a noticeable lag, every millisecond counts.

This module will only load Log::Any when "logging is enabled".
Otherwise, it will just return without loading anything. If $log is
requested in import, a fake object is returned that responds to methods
like debug, is_debug and so on but will do nothing when called and just
return 0.

To determine "logging is enabled":

* Is $ENABLE_LOG defined?

This package variable can be used to force "logging enabled" (if
true) or "logging disabled" (if false). Normally, you don't need to
do this except for testing.

* Is Log::Any is already loaded (from %INC)?

If Log::Any is already loaded, it means we have taken the overhead
hit anyway so logging is enabled.

* Is one of log-related environment variables true?

If one of LOG, TRACE, or DEBUG, or VERBOSE, or QUIET, or LOG_LEVEL is
true then logging is enabled. These variables are used by
Perinci::CmdLine.

Otherwise, logging is disabled.


URL: http://search.cpan.org/dist/Log-Any-IfLOG
License: GPL+ or Artistic

Maintainer: sander85

List of RPMs