AnyEvent
view release on metacpan or search on metacpan
lib/AnyEvent.pm view on Meta::CPAN
}
0 # not logged
}
sub _logger($;$) {
my ($level, $renabled) = @_;
$$renabled = $level <= $VERBOSE;
my $logger = [(caller)[0], $level, $renabled];
$AnyEvent::Log::LOGGER{$logger+0} = $logger;
# return unless defined wantarray;
#
# require AnyEvent::Util;
# my $guard = AnyEvent::Util::guard (sub {
# # "clean up"
# delete $LOGGER{$logger+0};
# });
lib/AnyEvent/Log.pm view on Meta::CPAN
}
while $ctx = pop @ctx;
fatal_exit if $level <= 1;
$success
}
sub log($$;@) {
_log
$CTX{ (caller)[0] } ||= _pkg_ctx +(caller)[0],
@_;
}
=item $logger = AnyEvent::Log::logger $level[, \$enabled]
Creates a code reference that, when called, acts as if the
C<AnyEvent::Log::log> function was called at this point with the given
level. C<$logger> is passed a C<$msg> and optional C<@args>, just as with
the C<AnyEvent::Log::log> function:
lib/AnyEvent/Log.pm view on Meta::CPAN
sub {
$guard if 0; # keep guard alive, but don't cause runtime overhead
_log $ctx, $level, @_
if $$renabled;
}
}
sub logger($;$) {
_logger
$CTX{ (caller)[0] } ||= _pkg_ctx +(caller)[0],
@_
}
=item AnyEvent::Log::exact_time $on
By default, C<AnyEvent::Log> will use C<AE::now>, i.e. the cached
eventloop time, for the log timestamps. After calling this function with a
true value it will instead resort to C<AE::time>, i.e. fetch the current
time on each log message. This only makes a difference for event loops
that actually cache the time (such as L<EV> or L<AnyEvent::Loop>).
lib/AnyEvent/Log.pm view on Meta::CPAN
returned. If it is called without any arguments, then the context for the
callers package is returned (i.e. the same context as a C<AE::log> call
would use).
If C<undef> is given, then it creates a new anonymous context that is not
tied to any package and is destroyed when no longer referenced.
=cut
sub ctx(;$) {
my $pkg = @_ ? shift : (caller)[0];
ref $pkg
? $pkg
: defined $pkg
? $CTX{$pkg} ||= AnyEvent::Log::_pkg_ctx $pkg
: bless [undef, (1 << 10) - 1 - 1], "AnyEvent::Log::Ctx"
}
=item AnyEvent::Log::reset
( run in 2.234 seconds using v1.01-cache-2.11-cpan-1e74a51a04c )