Acme::Beamerang::Logger - A Simple per-class clan warnlogger loader
# 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.
This class is a convenience layer to tie Log::Contextual::WarnLogger::Fancy into the Acme::Beamerang project space.
Acme::Beamerang
This is very experiemental and is a research project ( hence Acme:: ).
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.
Log::Contextual
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.
env_prefix
group_env_prefix
ENV
Every package that uses this logger will respond to BEAMERANG_$LOG_LEVEL and BEAMERANG_UPTO values.
BEAMERANG_$LOG_LEVEL
BEAMERANG_UPTO
Every package beginning with either Acme::Beamerang:: or Beamerang:: will additionally respond to a collection of namespace oriented ENV variables.
Acme::Beamerang::
Beamerang::
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.
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.
This is my dumb joke based on Beam, which this compontent is going to end up being used in conjunction with.
Beam
I thought at first Beam -> Boom, but then that was too high level.
Boom
And then I thought Boomerang .... but eh, I didn't like that either.
Boomerang
So Beamerang is a mutant hybrid of the above.
Beamerang
Other parts of this system that have yet to manifest will use the same convention.
Log::Contextual::Easy::Default - Interface is otherwise identical to this module, only the default logger in choice and its configuration differs.
Log::Contextual::Easy::Default
Kent Fredric <kentnl@cpan.org>
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.
To install Acme::Beamerang::Logger, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Acme::Beamerang::Logger
CPAN shell
perl -MCPAN -e shell install Acme::Beamerang::Logger
For more information on module installation, please visit the detailed CPAN module installation guide.