log::contextual::warnlogger(3pm) [debian man page]
Log::Contextual::WarnLogger(3pm) User Contributed Perl Documentation Log::Contextual::WarnLogger(3pm)NAME
Log::Contextual::WarnLogger - Simple logger for libraries using Log::Contextual
SYNOPSIS
package My::Package;
use Log::Contextual::WarnLogger;
use Log::Contextual qw( :log ),
-default_logger => Log::Contextual::WarnLogger->new({
env_prefix => 'MY_PACKAGE'
});
# warns '[info] program started' if $ENV{MY_PACKAGE_TRACE} is set
log_info { 'program started' }; # no-op because info is not in levels
sub foo {
# warns '[debug] entered foo' if $ENV{MY_PACKAGE_DEBUG} is set
log_debug { 'entered foo' };
...
}
DESCRIPTION
This module is a simple logger made for libraries using Log::Contextual. We recommend the use of this logger as your default logger as it
is simple and useful for most users, yet users can use "set_logger" in Log::Contextual to override your choice of logger in their own code
thanks to the way Log::Contextual works.
METHODS
new
Arguments: "Dict[ env_prefix => Str ] $conf"
my $l = Log::Contextual::WarnLogger->new({
env_prefix
});
Creates a new logger object where "env_prefix" defines what the prefix is for the environment variables that will be checked for the six
log levels. For example, if "env_prefix" is set to "FREWS_PACKAGE" the following environment variables will be used:
FREWS_PACKAGE_UPTO
FREWS_PACKAGE_TRACE
FREWS_PACKAGE_DEBUG
FREWS_PACKAGE_INFO
FREWS_PACKAGE_WARN
FREWS_PACKAGE_ERROR
FREWS_PACKAGE_FATAL
Note that "UPTO" is a convenience variable. If you set "FOO_UPTO=TRACE" it will enable all log levels. Similarly, if you set it to
"FATAL" only fatal will be enabled.
$level
Arguments: @anything
All of the following six methods work the same. The basic pattern is:
sub $level {
my $self = shift;
warn "[$level] " . join qq{
}, @_;
if $self->is_$level;
}
trace
$l->trace( 'entered method foo with args ' join q{,}, @args );
debug
$l->debug( 'entered method foo' );
info
$l->info( 'started process foo' );
warn
$l->warn( 'possible misconfiguration at line 10' );
error
$l->error( 'non-numeric user input!' );
fatal
$l->fatal( '1 is never equal to 0!' );
is_$level
All of the following six functions just return true if their respective environment variable is enabled.
is_trace
say 'tracing' if $l->is_trace;
is_debug
say 'debuging' if $l->is_debug;
is_info
say q{info'ing} if $l->is_info;
is_warn
say 'warning' if $l->is_warn;
is_error
say 'erroring' if $l->is_error;
is_fatal
say q{fatal'ing} if $l->is_fatal;
AUTHOR
See "AUTHOR" in Log::Contextual
COPYRIGHT
See "COPYRIGHT" in Log::Contextual
LICENSE
See "LICENSE" in Log::Contextual
perl v5.10.1 2010-07-31 Log::Contextual::WarnLogger(3pm)
Check Out this Related Man Page
Catalyst::Log::Log4perl(3pm) User Contributed Perl Documentation Catalyst::Log::Log4perl(3pm)NAME
Catalyst::Log::Log4perl - DEPRECATED (see Log::Log4perl::Catalyst)
SYNOPSIS
In MyApp.pm:
use Catalyst::Log::Log4perl;
# then we create a custom logger object for catalyst to use.
# If we don't supply any arguments to new, it will work almost
# like the default catalyst-logger.
__PACKAGE__->log(Catalyst::Log::Log4perl->new());
# But the real power of Log4perl lies in the configuration, so
# lets try that. example.conf is included in the distribution,
# alongside the README and Changes.
__PACKAGE__->log(Catalyst::Log::Log4perl->new('example.conf'));
And later...
$c->log->debug("This is using log4perl!");
DESCRIPTION
This module provides a Catalyst::Log implementation that uses Log::Log4perl as the underlying log mechanism. It provides all the methods
listed in Catalyst::Log, with the exception of:
levels
enable
disable
These methods simply return 0 and do nothing, as similar functionality is already provided by Log::Log4perl.
These methods will all instantiate a logger with the component set to the package who called it. For example, if you were in the
MyApp::C::Main package, the following:
package MyApp::C::Main;
sub default : Private {
my ( $self, $c ) = @_;
my $logger = $c->log;
$logger->debug("Woot!");
}
Would send a message to the Myapp.C.Main Log::Log4perl component.
See Log::Log4perl for more information on how to configure different logging mechanisms based on the component.
METHODS
new($config, [%options])
This builds a new Catalyst::Log::Log4perl object. If you provide an argument to new(), it will be passed directly to
Log::Log4perl::init.
The second (optional) parameter is a hash with extra options. Currently three additional parameters are defined:
'autoflush' - Set it to a true value to disable abort(1) support.
'watch_delay' - Set it to a true value to use L<Log::Log4perl>'s init_and_watch
'override_cspecs' - EXPERIMENTAL
Set it to a true value to locally override some parts of
L<Log::Log4perl::Layout::PatternLayout>. See L<OVERRIDING CSPECS> below
Without any arguments, new() will initialize a root logger with a single appender, Log::Log4perl::Appender::Screen, configured to have
an identical layout to the default Catalyst::Log object.
_flush()
Flushes the cache. Much like the way Catalyst::Log does it.
abort($abort)
Causes the current log-object to not log anything, effectivly shutting up this request, making it disapear from the logs.
debug($message)
Passes it's arguments to $logger->debug.
info($message)
Passes it's arguments to $logger->info.
warn($message)
Passes it's arguments to $logger->warn.
error($message)
Passes it's arguments to $logger->error.
fatal($message)
Passes it's arguments to $logger->fatal.
is_debug()
Calls $logger->is_debug.
is_info()
Calls $logger->is_info.
is_warn()
Calls $logger->is_warn.
is_error()
Calls $logger->is_error.
is_fatal()
Calls $logger->is_fatal.
levels()
This method does nothing but return "0". You should use Log::Log4perl's built in mechanisms for setting up log levels.
enable()
This method does nothing but return "0". You should use Log::Log4perl's built in mechanisms for enabling log levels.
disable()
This method does nothing but return "0". You should use Log::Log4perl's built in mechanisms for disabling log levels.
OVERRIDING CSPECS
Due to some fundamental design incompatibilities of Log::Log4perl and Catalyst::Log all cspecs of Log::Log4perl::Layout::PatternLayout that
rely on call stack information fail to work as expected. Affected are the format strings %L, %F, %C, %M, %l and %T. You can instruct
Catalyst::Log::Log4perl to try to hijack these patterns which seems to work reasonable well, but be advised that this feature is HIGHLY
EXPERIMENTAL and relies on a few internals of Log::Log4perl that might change in later versions of this library. Additionally, this feature
is currently only tested with Log::Log4perl version 1.08 allthough the underlying internals of Log::Log4perl seem to be stable since at
least version 0.47.
BUGS AND LIMITATIONS
The %T cspec of Log::Log4perl::Layout::PatternLayout is currently unimplemented. The implementation to get %M defies any logical approach
but seems to work perfectly.
SEE ALSO
Log::Log4perl, Catalyst::Log, Catalyst.
AUTHORS
Adam Jacob, "adam@stalecoffee.org"
Andreas Marienborg, "omega@palle.net"
Gavin Henry, "ghenry@suretecsystems.com" (Typos)
Sebastian Willert (Overriding CSPECS)
J. Shirley "jshirley@gmail.com" (Adding _dump)
Tomas Doran (t0m) "bobtfish@bobtfish.net" (Current maintainer)
Wallace Reis (wreis) "wreis@cpan.org"
COPYRIGHT
Copyright (c) 2005 - 2009 the Catalyst::Log::Log4perl "AUTHORS" as listed above.
LICENSE
This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.
perl v5.14.2 2012-06-21 Catalyst::Log::Log4perl(3pm)