2012-04-26 3 views
2

노드에서 오류보고를 받으려면 어떻게합니까? 나는 v0.6.15 (간단한 osx 설치 DMG 사용)를 실행 중입니다. 오류가있을 때마다 정의되지 않은 변수를 사용하려고하면 프로세스가 그 이유에 대한 표시없이 멈 춥니 다.node.js에서 경고 및 오류 메시지를 어떻게 봅니까?

나는 PHP의 error_reporting (E_ALL) 노드 버전을 찾고 있다고 생각한다.

제안 사항?

== 편집 ==

이상한 ... 좋아요 ... 그래서

을 내가 실행 파일에 잘 오류를 얻을 수 있지만, 사람에 나는 "필요"없는 것으로 나타났습니다 실행중인 파일에이 코드가 있습니다.

process.on('uncaughtException', function(err) { 
    console.log(err); 
}); 

var ImageProcessor = require('./ImageProcessor').ImageProcessor; 
var imageProcessor = new ImageProcessor(); 

imageProcessor.imageRequestEnd(); 

imageProcessor는 mootools 클래스로 mootools 클래스는 특수하지만 다른 것은 사용하지 않습니다.

+0

어떻게 실행 하시겠습니까? 나는이 행동을 본 적이 없으며 모든 결과물을 잡는 일부 스크립트로 실행하고 있다고 의심합니다. – Brad

+0

osx에서 노드를 실행할 때 그 일은 일어나지 않습니다 ... – ControlAltDel

+0

터미널 $ node file.js에서 바로 열기 –

답변

1

NodeBus 프로그램을 디버깅하고 죽이는 원인을 알고 싶다면 @Brad와 같은 행동을 한 번도 본 적이 없지만 일반적으로 다음과 같은 구문을 사용할 수 있습니다.

process.on('uncaughtException', function(err) { 
    console.log(err); 
}); 

스크립트에 있습니다.

많은 사람들은 캐치되지 않은 예외가 종종 심각하고 예상치 못한 오류가 발생했기 때문에 복구 할 수있는 유일한 방법은 다시 시작한다는 것을 나타내므로 이러한 구성을 프로덕션에서 사용하지 말아야한다고 주장합니다. 이는 특정 애플리케이션에 맞거나 그렇지 않을 수도 있습니다. 어쨌든이 방법으로 디버깅하는 것이 유용 할 수 있습니다.

그러나 @Brad와 마찬가지로 이 표시되지 않는 가장 큰 이유는입니다. 콘솔 출력이 어떻게 든 리디렉션된다는 것입니다. "forever", "supervisor", "screen"또는 사용중인 다른 프로세스 래퍼를 사용하지 않고 실행하십시오.

+0

감사합니다. 이것은 이상합니다. 업데이트를 확인하십시오. –

관련 문제