2011-07-26 2 views
7

테스트를 위해 소수의 사용자에게 배포 할 웹 앱을 만들고 있습니다. 분명히 버그가 될 것이므로 수정을 쉽게 개발할 수 있도록 버그를 포착하고 싶습니다. 내 웹 응용 프로그램에서 콘솔 메시지 (브라우저/js 오류 및 console.log로 생성 된 메시지)를 가로채는 방법이 있습니까?이를 통해 서버의 로깅 서비스로 보내고 디버깅 할 수 있습니까?웹 브라우저 콘솔 메시지 가로 채기

답변

5

예.

가로 채기 console.log() 전화 :

console['log'] = function(msg){ 
    // do wahtever you need with msg here 
} 

가로 채기 오류 (그래서 기저귀 안티 패턴이라고도 함) : jsfiddle : 여기

try { 
    // your app's code 
} catch(err) { 
    // do what you to do in case of error need here 
} 

는 증거입니다.

그러나 나는 자신의 기능을 만들 것을 제안합니다.이 기능은 console.log() 목적을 처리하고 생산 중단 될 수 있습니다. 또한 브라우저가 console.log() 호출을 지원하지 않으면 제대로 작동합니다 (즉, 오류가 발생하지 않음을 의미 함). 이것은 그렇게 볼 수 있었다 :

window['log'] = function(msg){ 
    if (typeof console != 'undefined' && typeof console.log != 'undefined'){ 
     console.log(msg); 
    } 
} 
+0

IE7에서도이 작업을 수행하는 방법에 대한 정보는 무엇입니까? 방금 답변에 제공 한 마지막 스 니펫을 추가했지만 콘솔은 여전히 ​​IE7에서 정의되지 않았습니다. –

1

조금 늦게 ... 이것은 단지 서버에 보낼 수있는 방법을 구현해야하지만, 그 사소한 흥미로운 읽을 수 있습니다. Taking Over console.log