Why not adopt me?
NAME
Acme::Beamerang::Logger - A Simple per-class clan warnlogger loader
SYNOPSIS
# Interface is basically the same as Log::Contextual::Easy::Default
use Acme::Beamerang::Logger; # imports :dlog and :log by default
# also assigns a default logger to the package.
DESCRIPTION
This class is a convenience layer to tie Log::Contextual::WarnLogger::Fancy into the Acme::Beamerang
project space.
This is very experiemental and is a research project ( hence Acme::
).
This would otherwise be part of the other Acme::Beamerang
things that are still yet to materialise, but the inversion control this project entails means directly coupling this component with either of those parts would lead to a dependency graph that would defeat the point of the control inversion.
This tool otherwise loads up Log::Contextual
with a nice default logger, with all the glue in place to be convenient for this project, while still having an open door to a real logger.
ENVIRONMENT
This module utilizes the env_prefix
and group_env_prefix
of Log::Contextual::WarnLogger::Fancy to generate a collection of ENV
vars for narrow or broad incision of logging statements without need to use more complex logging technology.
Every package that uses this logger will respond to BEAMERANG_$LOG_LEVEL
and BEAMERANG_UPTO
values.
Every package beginning with either Acme::Beamerang::
or Beamerang::
will additionally respond to a collection of namespace oriented ENV
variables.
For instance,
Acme::Beamerang::Foo::Bar::Baz
Will respond to any of the following ENV
vars:
BEAMERANG_FOO_BAR_BAZ_$LEVEL
BEAMERANG_FOO_BAR_$LEVEL
BEAMERANG_FOO_$LEVEL
BEAMERANG_$LEVEL
BEAMERNAG_FOO_BAR_BAZ_UPTO
BEAMERANG_FOO_BAR_UPTO
BEAMERANG_FOO_UPTO
BEAMERANG_UPTO
This means you can turn on debugging for as much, or as little as you like, without having to radically change the code.
NAMING
Acme
Firstly, this is named Acme::
, because its a bunch of bad ideas glued together, and I don't want people to use this until its "ready", but I'm going to need to use it lots before I get comfortable anything right is done.
When its ready (if ever), it will ship as Beamerang::
... maybe.
Beamerang
This is my dumb joke based on Beam
, which this compontent is going to end up being used in conjunction with.
I thought at first Beam
-> Boom
, but then that was too high level.
And then I thought Boomerang
.... but eh, I didn't like that either.
So Beamerang
is a mutant hybrid of the above.
Other parts of this system that have yet to manifest will use the same convention.
SEE ALSO
Log::Contextual::Easy::Default
- Interface is otherwise identical to this module, only the default logger in choice and its configuration differs.
AUTHOR
Kent Fredric <kentnl@cpan.org>
LICENSE
This software is copyright (c) 2016 by Kent Fredric.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.