-
NodeJS console.log()개발언어/Node.js 2022. 7. 8. 13:54
console.log()
개발할 때, 디버깅 할때, 서버를 배포했을때 유용한 도구이다.
VScode를 이용해서 console의 정의부로 이동하면, console에도 많은 api가 있다는 걸 확인 할 수 있다.
현재 출력된 모든 log들을 지우고 싶다면, console에 있는 clrear를 사용하면 된다. 우리가 흔하게 log를 이용하고 있다.
하지만 사실 이런 log도 log level에 따라서, 각기 다른 것을 사용해야한다.
Node로 출력 시 다 같은 디자인임에도 불구하고 다양한 api가 존재하는 이유는 server에 배포했을 시 중요한 warn이나 error같은 경우는 log file에 남기거나 log를 남길 수 있는 서비스를 이용 하는 경우가 있는데, log의 심각성에 따라서 level별로 consol.log를 활용하면, 그 심각성을 잘 구분해서 알아차릴 수 있고, error가 있을때 그 부분을 수정하기가 좋다.
개발할 때는 log를 이용하지만 배포할 때는 log를 출력하지 않도록 level 별로 출력할 것인지 file에 저장할 것인지를 control할 수 있다. 그래서 개발할 때 부터 심각성의 level별로 log를 다르게 사용하는 것이 좋다.
assert
첫번째 인자로 전달한 값이 true가 아닐 때만, 두번째 인자를 log로 출력할 수 가 있다. 특정한 조건 일때 log를 출력하고 싶다면 console.assert를 이용할 수 있다.
print object
Object를 출력할 때도 다양한 API가 존재한다.
console.dir은 log와 같은 형태로 출력이 되는데, console.log와는 다르게 두 번째 인자인 option을 전달해서, 더 추가 적으로 control을 할 수 있다.
options
- showHidden<boolean> : 해당 값이 true라면 JS Object에서 key가 Object.keys를 이용했을때, key가 나타나지 않도록 숨길 수 있는 기능
- depth <number> : Object안에 Object가 있다면 어디까지 보여줄 건지 결정할 수 있는 기능
- colors <boolean> : 색상을 어떤 식으로 조절할 것인지
Measuring time
console.time() 안에 label을 지정한 다음에 .timeEnd라는 것을 호출하면, 같은 label이 시작하고 끝날 때 까지 얼마나 걸렸는지 확인 할 수 있다.
console.time()은 성능을 확인할 때 사용하면 유용하다.
counting
내가 작성한 함수가 내가 예상한 횟수 만큼 호출이 되었는지 확인하고 싶을때 사용할 수 있다. console.count()안에 label를 작성해주면, 해당 label이 가르키는 함수가 몇번 호출되었는지 확인할 수 있다.
만약 특정한 동작이 발생한 후에 동작을 초기화 하고 싶다면, console.countReset()을 이용하면 된다.
trace
debbuging할 때 유용하다.
console.trace()가 들어 있는 함수가 어떻게 호출되었는지, 누가 해당 함수를 호출 하였는지 알고 싶을때 사용할 수 있다. Trace는 f3이라는 함수가 실행된 정확한 file명과 그 함수가 file의 몇번째 line에서 실행 되었는지 까지 확인해 볼 수 있다.
'개발언어 > Node.js' 카테고리의 다른 글
NodeJS Module(export, require) (0) 2022.07.08 NodeJS this(브라우저와의 차이점) (0) 2022.07.08 NodeJS - Global Object (0) 2022.07.08 espress의 server 프레임워크 사용하지 않고 개발 (0) 2022.06.13 espress로 서버 띄우기 (0) 2022.06.13