log4Perl에서 프로그램이 eval 절 외부에서 치명적인 오류를 발생시킬 수있는 방법이 있습니까? 처리되지 않은 프로그램 종료의 경우에도 log4perl을 호출하기를 원합니다. 선호하는 모든 Perl 프로그램과 함께로드 된 표준 모듈 내에 관련 오류 처리기를 추가하고 싶습니다.
펄 버전은 현재 5.8이지만 곧 업그레이드 될 예정입니다.
주어진 답변에 대한 테스트 코드입니다. 화면에 DIE도 표시되지 않으며 die.txt가 만들어지지 않습니다.Perl : 처리되지 않은 오류의 경우 log4Perl 호출 log4perl
use Log::Log4perl qw(get_logger);
$a->test();
$SIG{__DIE__} = sub {
warn "DIE";
open DIE,">die.txt";
print DIE "died\n";
close DIE;
};
사용에 대한 perlipc을 참조하십시오 자주 묻는 질문처럼 보인다. // 삭제 된 질문에 댓글에 응답합니다. – ZyX
문제가 발생하면 '$ SIG {__ DIE __}'가 아직 설정되지 않았습니다. '$ SIG {__ DIE __}'를 먼저 설정하면됩니다. – dan1111