Node.JS 코드를 다루면서 조금 아쉬운점 하나는 콘솔 디버깅이었습니다. 이게 console.log, console.info, console.warn 그리고 console.error를 구분하지 못하고 모두 일반 텍스트로 나오는 것이었습니다. 그래서 Socket.IO의 콘솔이 컬러로 나오는 것을 참고하여 Clog라는 이름의 npm 모듈을 만들고 배포했습니다.

# npm install clog

Clog 모듈은 콘솔을 호출할 때 사용한 메서드를 표시하고 색상으로 구별하며, 사용자 지정 메서드를 사용할 수 있도록 하는 특징을 추가했습니다. 패키지에 동봉된 테스트 파일의 내용은 다음과 같습니다.

var clog = require('clog');

clog('server', 'start listening on port 3000');  // custom head

clog.log('hello', 'world');                      // console.log
clog.info(['foo', 'bar']);                       // console.info
clog.warn('baz is deprecated.');                 // console.warn
clog.error('HTTP/1.1 400 Bad Request');          // console.error
clog.debug('headers', {                          // console.debug
    'Content-Type': 'text/javascript'
});

위 코드들을 실행하면 아래와 같이 출력됩니다.(오타는 애교로 봐주세요;)

clog.png

배포는 어렵지않게 할 수 있었습니다. 다른 노드 모듈들의 패키지 구성을 참고하여 대충 만들고 도움말 페이지를 참고하여 아래와 같은 배포과정을 거쳤습니다. 페이지의 내용은 대부분은 "테스트좀 잘하고 올려라"입니다.

# npm adduser
# npm publish

참, 위 모듈을 구성하는 코드는 GitHub에 공개했으며 MIT 라이센스이니 맘것 때려고쳐 쓰시면 됩니다. 아, 제가 서버 모듈을 배포하게 되는 날이 올줄은 꿈에도 상상못했는데 뭔가 가슴이 뭉클하네요. ㅠ.ㅠ

* 2011/09/09 업데이트 0.0.2 - 불필요한 코드 제거
* 2012/01/16 업데이트 0.1.2 - configure 메서드 추가

Comments

Got something to add? You can just leave a comment.

Your Reaction Time!

avatar

captcha