2010-08-22 2 views
4

내 webapp는 현재 클라이언트 쪽에서 JS 오류를보고하는 JS 기반 오류 로깅 시스템을 사용합니다. 자바 스크립트를 사용하여 오류를 로깅 할 때의 문제점은 바로 그 것입니다. 우리는 동일한 기술의 문제를 모니터링하는 기술을 사용하고 있습니다. JS에서 오류가 발생하면 로깅이 발생하지 않을 수 있습니다.Javascript 오류를 기록하고 Javascript를 사용하지 않고보고하는 방법은 무엇입니까?

누군가가 자체 JavaScript 코드에 의존하지 않고 클라이언트 측 오류를 기록하고보고 할 수있는 방법이 있는지 궁금합니다.

감사

+0

JavaScript를 사용하여 JS 오류를 기록 할 수 있습니다 (이 작업은 99 %의 시간이 걸리지 만 다른 작업을 수행하기 전에 JS 로깅을 정의해야합니다) ... 또는 JavaScript를 퍼팅 서버 (예 : 이미지)를 ping하거나 메타 태그를 사용하여 리디렉션하는 noscript 태그의 내용 실제 JavaScript 오류를 기록하려면 JavaScript를 사용해야합니다. – scunliffe

답변

3

우리는

우리가 항상 그렇게하지 마십시오 같은 기술의 문제를 모니터링하는 기술을 사용하고 있습니다. 작업중인 언어가 아닌 다른 언어로 오류 및 예외 처리를 수행 한 적이 있습니까?

window.onerror 콜백을 사용하십시오. 또한 구문 오류를 포착합니다. 또는 @Squeegy가 제안하는대로 오류를 잡아보십시오.

+0

나는 오류 처리에 대해 이야기하는 것이 아닙니다 ... 나는 로깅에 대해 이야기하고 있습니다. 일부 JS 코드에서 치명적인 오류가 발생하면 JS가 서버로 다시 보고서를 보내는 것을 막을 수 있습니다 ... 감사하지만 어쨌든 :) –

3

아니요. 하지만 try/catch 블록을 사용하면 달리 실행을 중단시키는 javascript 오류를 피할 수 있습니다.

try { 
    stuff.that('raises').error(); 
} catch(e) { 
    // send e via ajax 
} 
+0

감사합니다. JS 오류를 처리하는 방법을 알고 있습니다. JS에서 보고서의 연결을 끊는 방법을 찾고 있습니다. –

+1

그럼 다른 용도는 무엇입니까? JS는 웹 페이지가 동적 콘텐츠를 처리하는 방법입니다. 이 물건을 포착하고 그 결과로 무언가를 할 수있는 다른 기술은 없습니다. 플래시와 같은 것들조차도 JavaScript를 통해 조작해야합니다. 당신은 더 많은 JS로 JS 오류를 처리한다. 그러나 이것이 왜 문제가 되는가? 루비 나 C를 사용하여 오류를 처리 할 수 ​​있다고 말하면 정말 당신의 접근 방식에 어떤 차이가 있습니까? –

1

불행히도, 나는 그것이 가능하다고 생각하지 않습니다. Ajax 요청을 보내는 것이 든, 사용자가 텍스트 상자에 오류가있는 양식을 제출하게하든, 오류를 포착하여보고하는 데는 어떤 형태로든 javascript를 사용해야합니다.

+0

전체 아이디어는 사용자를 루프 밖으로 유지하는 것입니다. Thanks –

관련 문제