...
브라우저 console.log 꾸미기
브라우저 콘솔은 CSS 스타일시트를 지원하기 때문에 조금 번거롭긴 하지만 만들기 어렵지는 않다.
console.log('%cHello, world!', 'color: #a4f644; background-color: red;');
%c 이후의 글자에는 모두 같은 스타일이 입혀지게 된다.
새로운 스타일을 씌우고 싶으면 %c를 또 쓰면 된다.
프론트앤드에서는 전혀 어려운 작업이 아니기 때문에, 당연히 백앤드에서도 되는 것으로 생각하는 분들이 많은데 아니다.
위 코드처럼 css값을 주어도 여전히 밍둥맹둥한 하얀글씨만 나올 것이다. 따라서, 다른 방법으로 적용을 해야 한다.
노드 console.log 꾸미기
터미널에서는 색깔을 변경하기 위해서 ANSI escape code를 사용한다.
다음 예제를 터미널에 쳐보자
console.log('\x1b[31mHello, world!\x1b[0m');
이 코드는 크게 세 부분으로 나눌 수 있다.
- \x1b[31m
- Hello, world! (실제로 내가 쓰고 싶었던 부분)
- \x1b[0m
\x1b[로 시작해서 m으로 끝나는 코드가 바로 ANSI escape code이다.
// red
console.log('\x1b[31m%s\x1b[0m', 'I am red')
// green
console.log('\x1b[32m%s\x1b[0m', 'I am green')
// yellow
console.log('\x1b[33m%s\x1b[0m', 'I am yellow')
// blue
console.log('\x1b[34m%s\x1b[0m', 'I am blue')
// magenta
console.log('\x1b[35m%s\x1b[0m', 'I am magenta')
// cyan
console.log('\x1b[36m%s\x1b[0m', 'I am cyan')
하지만 일일히 ANSI escape code 문자열을 넣어서 콘솔을 생성하는 일은 매우 번거롭다.
다행히 npm진영에는 컬러풀한 console을 위한 모듈이 존재한다.
chalk 모듈 사용법
chalk
Terminal string styling done right
www.npmjs.com
chalk는 cmd에 나오는 log를 스타일링할 수 있는 패키지 이다.
colors라는 다른 콘솔 스타일링 패키지도 있지만, chalk가 기능도 많고 압도적인 다운로드 수를 자랑한다.
> npm i chalk # 설치
bgcolor로 백그라운드 컬러도 줄 수 있고 underline을 통해 밑줄을 그을 수도 있다.
const chalk = require('chalk');
console.log(chalk.blue('Hello') + ' balmostory' + chalk.red('!'));
console.log(chalk.yellow.bgRed.bold('Hello balmostory!'));
console.log(chalk.red('Hello', chalk.underline.bgBlue('balmostory') + '!'));
혹은 ES6 리터럴 문법으로 다음과 같이도 사용이 가능하다.
console.log(chalk`aa bbb ccc`);
console.log(chalk`aa {bold bbb} ccc`);
console.log(chalk`aa {yellow bbb} ccc`);
console.log(chalk`aa {yellow.bold bbb} ccc`);
⚠️ 컬러가 나오지 않을 경우, 다음과 같이 설정해준다.
const ctx = new chalk.Instane( { level: 3 } ); // 초기화 문구를 사용해본다.
chalk 색상 스타일 지원
폰트
- reset - 스타일 리셋
- bold
- dim - 투명도 낮춤
- italic
- underline
- overline
- inverse- 배경색과 전경색을 반전
- hidden
- strikethrough
- visible
색상
- black
- red
- green
- yellow
- blue
- magenta
- cyan
- white
- blackBright (alias: gray, grey)
- redBright
- greenBright
- yellowBright
- blueBright
- magentaBright
- cyanBright
- whiteBright
백그라운드 색상
- bgBlack
- bgRed
- bgGreen
- bgYellow
- bgBlue
- bgMagenta
- bgCyan
- bgWhite
- bgBlackBright (alias: bgGray, bgGrey)
- bgRedBright
- bgGreenBright
- bgYellowBright
- bgBlueBright
- bgMagentaBright
- bgCyanBright
- bgWhiteBright
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.