4
내 Perl 스크립트에 대한 로그를 생성하고 싶습니다. 하지만 내가 Log::Log4perl을 사용할 때 어쨌든 스크립트가 던져 줄 오류를 어떻게 잡을 수 있습니까? 로그 파일에 로그하는 방법. 현재 ERROR(), DEBUG() 등 variouys 태그에 명시 적으로 쓰는 것이 로그 파일에 인쇄되는 유일한 방법입니다.Log :: Log4perl을 사용하여 예기치 않은 오류를 모두 기록하십시오.
Log :: Log4perl을 사용하여이를 수행 할 수있는 방법이 있습니까? 아래의 코드, 예를 들어
:
use strict;
use warnings;
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init({ level => $DEBUG,
file => ">>test.log" });
my $logger = Log::Log4perl->get_logger();
$logger->fatal("This is", " fatal");
$logger->error("This is error");
$logger->warn( "This is warn");
$logger->info( "This is info");
$logger->debug("This is debug");
$logger->trace("This is trace");
my $a = 10;
my $b = $a/0;
제로 오차로 인한 격차가 스크립트에 기록되지 않는다. 광산 원본 스크립트는 너무 복잡하여 각 오류를 검사하지 않으므로 stderr의 오류를 로그 파일에 기록하는 무언가가 필요합니다. 우리는 상기 서브 블록의 경우를 입력 할 때
참조. 응용 프로그램이 죽을 때 발생하는 오류가 발생할 때마다 해당 스크립트를 기록하고 스크립트 실행을 중단하기를 원할 때만 필자는이를 원합니다. – Mohit
@Mohit :'$^S'는'eval'을 실행할 때 true를 반환합니다. –