, 당신은 또한 로깅 오브젝트의 방법을 포장 할 것 유틸리티를 작성할 수 있습니다
은 다음과 같이 될 것이다 :
function addLogging(object) {
Object.keys(object).forEach(function (key) {
if (typeof object[key] === 'function') {
var originalFn = object[key];
object[key] = function() {
console.log('before calling', key);
var result = originalFn.apply(this, arguments);
console.log('after calling', key);
return result;
}
}
});
}
당신이 lodash wrap 방법을 사용할 수 있습니다 도와주세요.
오래 전에 나는 위의 코드와 같은 비슷한 관한 질문 대답했다 : 그것은 완벽하게 생성자를 처리하지 않은 jQuery logger plugin
를, 그래서 그런 문제가 있었다. 여기에 fixed resulting code이 있습니다.
sinon.js도 볼 수 있으며 스파이를 제공하며 스파이 기능 호출 순서를 결정할 수 있습니다. 그러나 이것만으로는 너무 어려울 수도 있습니다. 조금 느려지기도합니다.
이 방법은 에서 일반적으로 수행되는 방법입니다. 당신은 그것에 대해 검색 할 수 있고 아마도 AOP 라이브러리를 사용하려고 시도 할 수 있습니다. meld
은 인기있는 것입니다.
chrome의 console.log 대신 console.timeline을 사용할 수 있습니다. 올바르게 사용하면 큰 시야를 제공합니다.
가장 쉬운 방법은 아니지만 각 기능에 로그 문을 추가하십시오. 그런 다음 콘솔을 확인하면 명령문의 순서가 표시됩니다. –
Firefox의 경우 'firebug'를 사용할 수 있습니다. 또한 IE, Chrome 및 Firefox에는 도구 세트에 내장 된 디버거가 있습니다. –