内部に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スクリプトを解析して一意の番号[###]
に置き換えました。[###]
そうすれば、エラー出力がどこから来たのか正確にわかりました。ただし、2 番目のスクリプトでソース コードを変更するのは最適ではありません。
質問
Log4Perl
私の関数が呼び出された行番号を書かなけれfatalError()
ばならない方法はありますか、または問題をどのように解決する必要がありますか?