Added handler to ensure warn and die are logged
(with some extra changes by Sitaram)
This commit is contained in:
parent
80d28e6fb0
commit
59a1855e38
|
@ -50,6 +50,24 @@ BEGIN {
|
||||||
die "ENV GL_BINDIR not set\n" unless $ENV{GL_BINDIR};
|
die "ENV GL_BINDIR not set\n" unless $ENV{GL_BINDIR};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
# register signal handlers to log any problems
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
BEGIN {
|
||||||
|
$SIG{__DIE__} = sub {
|
||||||
|
my $msg = join(' ', "Die generated at line", (caller)[2], "in", (caller)[1], ":", @_, "\n");
|
||||||
|
$msg =~ s/[\n\r]+/<<newline>>/g;
|
||||||
|
log_it($msg);
|
||||||
|
};
|
||||||
|
|
||||||
|
$SIG{__WARN__} = sub {
|
||||||
|
my $msg = join(' ', "Warn generated at line", (caller)[2], "in", (caller)[1], ":", @_, "\n");
|
||||||
|
$msg =~ s/[\n\r]+/<<newline>>/g;
|
||||||
|
log_it($msg);
|
||||||
|
warn @_;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
use lib $ENV{GL_BINDIR};
|
use lib $ENV{GL_BINDIR};
|
||||||
use gitolite_rc;
|
use gitolite_rc;
|
||||||
|
|
||||||
|
@ -126,7 +144,7 @@ sub log_it {
|
||||||
# the rest of it upto the caller; we just dump it into the logfile
|
# the rest of it upto the caller; we just dump it into the logfile
|
||||||
$logmsg .= "\t@_" if @_;
|
$logmsg .= "\t@_" if @_;
|
||||||
# erm... this is hard to explain so just see the commit message ok?
|
# erm... this is hard to explain so just see the commit message ok?
|
||||||
$logmsg =~ s/([\x00-\x08\x0A-\x1F\x7F-\xFF]+)/sprintf "<<hex(%*v02X)>>","",$1/ge;
|
$logmsg =~ s/([\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\xFF]+)/sprintf "<<hex(%*v02X)>>","",$1/ge;
|
||||||
print $log_fh "$ENV{GL_TS}\t$ENV{GL_USER}\t$ip\t$logmsg\n";
|
print $log_fh "$ENV{GL_TS}\t$ENV{GL_USER}\t$ip\t$logmsg\n";
|
||||||
close $log_fh or die "close log failed: $!\n";
|
close $log_fh or die "close log failed: $!\n";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue