如果我在内部使用 Log4Perl 创建一个抽象函数,那么它将输出行所在的行号$logger->error_die($m)
,而不是fatalError()
函数所在的位置。
sub fatalError {
my $m = shift;
email($m, $c->{subject});
unlink $c->{lock};
$logger->error_die($m);
}
fatalError("Directory $d ...");
在 Bash 中,我通过在每条错误消息的末尾写入来解决问题,并在病房后解析 Bash 脚本以替换为唯一数字。这样我就知道错误输出的确切位置。但是,让第二个脚本修改您的源代码并不是最佳选择。[###]
[###]
问题
有没有办法必须Log4Perl
写下调用我的函数的行号fatalError()
,或者应该如何解决问题?