Node.js 디버깅 필수: console.log와 console.dir 차이점과 사용법
Node.js에서 콘솔 출력을 사용하는 것은 디버깅과 데이터 확인에 매우 유용합니다. 특히 복잡한 객체나 JSON 데이터를 출력할 때는 console.log
와 console.dir
함수를 적절히 사용하는 것이 중요합니다. 이 글에서는 두 함수의 차이점과 사용법에 대해 알아보겠습니다.
console.log 소개 및 사용법
console.log
함수는 모든 타입의 데이터를 콘솔에 출력하는 기본 함수입니다. 문자열, 숫자, 객체 등 다양한 타입의 데이터를 출력할 수 있습니다. 기본적으로 객체의 첫 번째 수준까지만 출력합니다.
예제
const user = {
name: 'blueshare',
age: 30,
email: 'blueshare@example.com'
};
console.log(user);
console.log('User name is:', user.name);
위 예제에서 console.log
를 사용하여 객체와 문자열을 출력합니다. 객체의 첫 번째 수준까지만 출력되기 때문에, 복잡한 객체를 출력할 때는 일부 정보가 생략될 수 있습니다.
▼ console.log 예제 결과

console.dir 소개 및 사용법
console.dir
함수는 객체를 더 깊이 탐색하여 구조를 자세히 보여줍니다. JSON 데이터나 복잡한 객체를 출력할 때 유용합니다. 출력 깊이와 색상을 설정할 수 있는 옵션을 제공합니다.
예제
const user = {
name: 'BlueShare',
age: 30,
email: 'BlueShare@example.com',
address: {
street: '강남구',
city: '서울시',
zip: '12345'
}
};
console.dir(user, { depth: null, colors: true });
위 예제에서 console.dir
을 사용하여 user
객체의 모든 속성을 깊이까지 탐색하여 색상과 함께 콘솔에 출력합니다. depth: null
옵션은 객체를 무한히 깊이까지 탐색하도록 설정하고, colors: true
옵션은 출력에 색상을 추가합니다.
▼ console.dir 예제 결과

두 함수의 차이점 및 비교
console.log()
: 일반적으로 모든 타입의 데이터를 콘솔에 출력하는 데 사용됩니다. 기본적으로 객체의 첫 번째 수준까지만 표시합니다.console.dir()
: 객체의 모든 속성을 더 깊이 탐색하고, 옵션을 사용하여 출력의 깊이와 색상을 조절할 수 있습니다.
따라서 JSON 데이터나 복잡한 객체를 콘솔에 출력할 때는 console.dir()
를 사용하는 것이 유용합니다. 간단한 데이터 출력이나 단순한 메시지 로그에는 console.log()
를 사용하는 것이 적합합니다.
결론
Node.js에서 console.log
와 console.dir
함수는 디버깅과 데이터 확인에 매우 유용한 도구입니다. 각 함수의 특성과 사용법을 이해하고 적절히 활용하면 코드 디버깅과 성능 최적화에 큰 도움이 됩니다. 이 글에서 소개한 방법들을 사용하여 콘솔 출력을 효과적으로 활용해 보세요.
참고 자료
관련 이전 게시글
- Node.js에서 비동기 처리: Callback, Promise, async/await 사용법
- Node.js 파일 읽기, 쓰기 방법: 동기식 vs 비동기식
- Node.js 이벤트 처리하기: on, once, removeListener 메소드
- Node.js 스트리밍 단위로 파일 읽고 쓰는 방법
- Node.js 패키지 관리자 NPM 사용법과 package.json 파일 역할
이 글이 도움이 되셨다면 공유 부탁 드립니다.