간단하고 실용적인 js 디버깅 로거 구성 요소 구현 code_javascript 기술
May 16, 2016 pm 06:15 PM그러나 두 가지 방법 모두 경고가 중단되는 경우가 있습니다. 종료 중에 경고를 사용하면 잘못된 값이 나타날 수 있습니다. 디버거는 IE에서만 지원되기 때문에 실제로 사용하기가 상당히 혼란스럽습니다. 따라서 가장 합리적인 방법은 js를 이용하여 실행과정에서 디버깅이 필요한 값을 페이지에 출력하거나, 쿠키에 기록하는 방법입니다. 경고는 중단되고 브라우저 유형에 의해 제한되지 않습니다. 유일한 문제는 작동이 매우 번거롭다는 것입니다.
아래에 언급된 js 구성 요소가 있습니다. 이 구성 요소의 구현은 log4net 구성 요소의 기록 방법을 참조하며 이 js의 logger 구성 요소를 사용하여 로그 출력 형식으로 디버깅 작업을 수행합니다.
코드 복사 코드는 다음과 같습니다.
/*
js 디버깅 구성 요소
* /
(function () {
var logger = function (level, object, viewType) {
this.level = level;
this.object = object;
this. viewType = viewType ;
logger.LEVEL_DEBUG = 0;
logger.LEVEL_INFO = 1;
logger.LEVEL_ERROR = 3; = 4;
logger.VIEW_TYPE_ALERT = 0;
logger.prototype = {
setLevel: 함수(레벨) {
this.level = 레벨; >},
setObject: 함수 (o) {
if (typeof o == 'string') {
this.object = document.getElementById(o)
} else {
this.object = o;
}
},
setViewType: 함수(유형) {
this.viewType = 유형;
},
log: 함수(들) {
this .message(100, s);
},
디버그: 함수(s) {
this.message(logger.LEVEL_DEBUG, s)
},
정보: 함수(들) ) {
this.message(logger.LEVEL_INFO, s);
},
경고: 함수(들) {
this.message(logger.LEVEL_WARN, s); 🎜>},
오류: 함수(들) {
this.message(logger.LEVEL_ERROR, s)
},
치명적: 함수(들) {
this.message( logger.LEVEL_FATAL, s)
},
메시지: function (level, s) {
if (level >= this.level) {
if (this.object != null) {
this.object.innerHTML = s;
} else if (this.viewType == logger.VIEW_TYPE_ALERT) {
경고
} else {
document.body. appendChild(document.createTextNode(s));
document.body.appendChild(document.createElement("br"))
}
}
}
}; (창 유형. 로거 == '정의되지 않음' || window.Logger == null)
window.Logger = 새 로거(logger.LEVEL_DEBUG, null, logger.VIEW_TYPE_APPEND)
})(); >
어떻게 사용하나요?
이 js 구성 요소는 Logger 개체를 창 개체에 등록합니다. Logger.log/Logger.debug/Logger.info/Logger.warn/Logger.error/Logger.fatal을 사용하여 다양한 디버깅 정보를 출력할 수 있습니다.
샘플 코드는 다음과 같습니다.
코드는 다음과 같습니다.
Logger.debug(new Date()); Logger.debug(new Date().addHours(3)) 더 이상 문서를 작성할 필요가 없습니다. .getElementId().innerHtml 또는 경고/디버거로 콘텐츠를 출력합니다. 샘플 코드에 사용된 addHours는 js를 확장한 Date 객체 메서드입니다. 더 알고 싶은 친구들은 "js의 Date 메서드 확장"을 확인하세요.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7146
9


자바 튜토리얼
1534
14


라라벨 튜토리얼
1257
25


PHP 튜토리얼
1205
29


Cakephp 튜토리얼
1155
46

