JavaScript를 위한 간편한 로그 기능
2595 단어 javascriptdebug
1. console.log(arg1, arg2, ..., argn)
console.log는 둘 이상의 인수를 사용할 수 있습니다. 그렇다면 별도의 인수 수만큼 로그를 만들 것입니다.
2. console.log({ ...소품 })
개체 또는 속성 모음 개체를 전달할 수 있으며 이 개체도 기록됩니다. 개체에 명시적인 toString() 메서드가 없으면 메시지 문자열에서 연결될 때 "[object Object]"와 같은 것을 출력하고 쓸모가 없을 수 있음을 기억하십시오.
// example
const a = 1
const b = 2
const c = 3
// shorthand object notation
const item = { a, b, c }
// instead of:
console.log ('The item is ' + item)
// prefer:
console.log ('the item is:', item)
// or:
console.log ({ item })
공장 기능에 대한 디버그 플래그
팩토리 함수에 디버그 플래그를 전달하고 논리 AND!를 사용하여 참이면 로그할 수 있습니다.
let debug = true
const factoryFun = ({ x, y, debug }) => {
const point = { x, y }
point.distance = (other) => {
const dx = Math.abs (this.x - other.x)
const dy = Math.abs (this.y - other.y)
debug && console.log ('computing distance between another point')
return Math.sqrt (dx*dx + dy*dy)
}
debug && console.log ('factory')
return point
}
const point = factoryFun ({ x:4, y:2, debug })
4. 조정 가능한 세부 수준 필터링
let level = 0//로그 없음 !
const bigImplFun = ({ level }) => {
const filter = (x) => x > 0 && x >= level
filter (1) && console.log ('log level 1')
filter (2) && console.log ('log level 2')
filter (3) && console.log ('log level 3')
}
bigImplFun ({ level: 3 })
5. 들여쓰기 가능한 로깅 메시지
마무리! 앰퍼샌드 "&&"시퀀스를 작성하는 데 지쳤다면 함수 본체 내부에서 분리하십시오.
const debugx = ( level, message ) => {
const test = x > 0 && x >= level
const indent = '\t'.repeat (level - 1)
test && console.log (indent + message)
}
const BigImplModule = ({ level }) => {
const nested = () => {
debug (2, 'log level2')
}
const f1 = () => {
debug (1, 'log level1')
}
const f2 = () => {
debug (1, 'log level1')
nested ()
}
const mod = { f1, f2 }
return mod
}
let level = 0 // no debug !!!
let instance = bigImplModule ({ level })
instance.f1 ()
instance.f2 ()
짜잔! 즐거운 코딩하세요.
Reference
이 문제에 관하여(JavaScript를 위한 간편한 로그 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hefeust/easy-log-facilities-for-javascript-48p2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)