Log-Info
view release on metacpan or search on metacpan
lib/Log/Info.pm view on Meta::CPAN
croak "Channel does not exist: $chan\n"
unless exists $channel{$chan};
croak sprintf("Translator for channel %s not a subroutine: %s\n",
$chan, ref $trans || $trans)
unless UNIVERSAL::isa ($trans, 'CODE');
push @{$channel{$chan}{trans}}, $trans;
our %chan_trans;
$chan_trans{$chan}->{$name} = +{ pos => $#{$channel{$chan}{trans}},
tran => $trans,
create_line => join(':', (caller)[1,2]),
};
return $name;
}
sub remove_chan_trans {
my ($chan, $name) = @_;
croak "Channel does not exist: $chan\n"
unless exists $channel{$chan};
our %chan_trans;
lib/Log/Info.pm view on Meta::CPAN
sub {
local $dying = 1;
$save = $! + 0;
my $message = join '', grep defined, @_;
if ( $message !~ /\A[\s\n]*\Z/ ) {
# Always terminate with a newline. This ensures conformity of message
# with that checked in SIG{__DIE__}, which otherwise may have an
# "\n at line..." appended.
# If we want such appendages, we can add them ourselves
$message =~
s/([^\n])\z/sprintf("%s at %s line %d", $1, (caller)[1,2]) . "\n"/e;
$message =~ s/\n+\z/\n/;
Log(CHAN_INFO, LOG_ERR, "$message")
unless $message eq $lastmessage;
$lastmessage = $message;
}
$! = $save
if $save;
# this causes the message to percolate to the default die handler, which
# typically writes it to stderr. So the message may get output twice.
# That is unfortunate, but we need to do this to ensure that $@ is still
lib/Log/Info/Fork.pm view on Meta::CPAN
my $message;
if ( @message > 1 ) {
# It's the weirdest thing...
# sprintf @message here seems to force @message into a scalar context!
# even making the lhs a list context doesn't help. Spook!
$message = sprintf ($message[0], @message[1..$#message]);
} elsif ( @message == 1 ) {
$message = $message[0];
} else {
$message = sprintf "Empty log invoked at %s:%s", (caller)[0,1];
}
$message = $self->format($channel, $level, $source, $message);
Log ($channel, $level, $message);
}
# -------------------------------------
# INSTANCE HIGHER-LEVEL PROCEDURES
# -------------------------------------
( run in 0.704 second using v1.01-cache-2.11-cpan-a3c8064c92c )