Node.js console.log 대 console.info


92

console.logvs 사용의 이점은 무엇입니까 console.info? 아니면 그 문제에 대한 다른 콘솔 명령이 있습니까?

console.info("info");
console.error("error");
console.warn("warn");

vs

console.log("log");

출력의 색상을 변경하거나 일종의 레이블을 연결할 수 있다고 생각했지만 모두 동일한 작업을 수행하는 것 같습니다. 그리고 여기에있는 문서에 따르면 :

https://nodejs.org/api/console.html#console_console_info_data

그들은 모두 같은 일을하는 것 같습니다 console.log



3
몇 가지 팁 : 색상을 사용하여 다음을 더 잘 볼 수 있습니다. console.log ( '% c Sample Text', 'color : green;'); 또는 다음을 사용하여 텍스트에 VAR을 추가합니다. console.log (`Sample $ {variable}`, 'color : green;');
Gilberto B. Terra Jr.

감사합니다. 노드 js에서도 작동하는지 몰랐습니다

답변:


81

문서에 따르면, 당신은에 링크 된 것을 console.errorconsole.warn출력에 stderr. 나머지는 stdout.

배관이나 방향 전환을 node.js하는 경우에는 차이가 중요합니다.

브라우저와 .NET 모두에서 실행되도록 작성된 JavaScript가 많이 있습니다 Node.js. 노드가 전체 콘솔을 구현하면 코드 상호 호환성이 향상됩니다.

대부분의 브라우저에서 이러한 로그인은 서로 다른 색상으로 할뿐만 아니라 특정 메시지를보기 위해 필터링 할 수도 있습니다.

console.info("info");
console.error("error");
console.warn("warn");
console.log("log");

감사합니다! 다르게 표시되는 브라우저였습니다. 색상 변경을 위해 터미널에서 찾고있었습니다.
seantomburke 2014-08-27

2
에서 node( 8.11.4크롬 67)와,도있다 console.debug(물론 이전 버전과 상당히 가능성). debug아래 순위 log.
Marcus Junius Brutus

41

console.log() 보다 짧다 console.info()

그것들은 똑같은 것이고 그것이 유일한 장점입니다.

여기에 이미지 설명 입력


65
나는 "그게 유일한 이점"이 사실이 아니고 근시안적이기 때문에 반대 투표를합니다. 메소드는 정확히 동일한 구현을 가질 수 있지만 의미 는 다릅니다 . 콘솔을 사용하면 로그 수준 필터링을 간단하게 구현할 수 있습니다.
rixo

4
CONSOLE.LOG = 표준 출력, console.error = 열려진 동안
크레이그 웨인

9
developer.mozilla.org/en-US/docs/Web/API/Console/info- "Firefox 및 Chrome에서는 웹 콘솔 로그에서 이러한 항목 옆에 작은"i "아이콘이 표시됩니다."- image.ibb .co / gYrZHe / infolog.png
ed '

4
@EdwardSammutAlessi 내가 크롬을 사용하고 표시하기 위해 내가 아이콘을 다시 얻을 수 없었던거야
chevybow

하나의 데이터 포인트 : Firefox 78 : log.info 출력 전에 ⓘ (원 안에 i)를 인쇄합니다. Chrome 84 : 그렇지 않습니다.
Tom Hundt

34

동안 console.logconsole.info다른되지 않을 수도 있습니다, 단순한 색상을 제외한 다른 용도가있다. 예를 들어 eslint와 같은 linter를 사용할 때 console.log경고 메시지를 제공하도록 설정할 수 있습니다 . console.log개발 목적으로 만 사용 console.info하고 최종 사용자에게 필요할 수있는 정보 를 사용하려고한다고 가정 해 보겠습니다 . linter를 사용하면 console.log개발 중에 도움이되는 임시 알림을 눈에 띄고 직접적으로 알 수 있지만 커밋 / 게시 전에 제거해야합니다.


3
나는이 대답이 다른 모든 것보다 더 적절하다고 생각한 이유를 모르겠습니다. @Figidon.
Shreyan Mehta

1
동의합니다. eslint for dev 및 production 모드와 함께 사용할 수있는 훌륭한 솔루션입니다. console.log를 전달하지 마십시오! (손에있는 지팡이와 칼)
Tomas Vancoillie

26

문서 에 따르면 꽤 명확합니다.

console.info ([data], [...]) # console.log와 동일합니다.

console.error ([data], [...]) # console.log와 같지만 stderr로 출력합니다.

console.warn ([data], [...]) # console.error와 동일합니다.

이것은 이점이나 단점이 없음을 의미합니다. info== logwarn== error. 당신이 인쇄 할 않는 한 stderr, info그리고 또는 log작동합니다.


23

시각 실제로 간의 차이 console.log, console.info, console.warn뿐만 아니라 console.error대한 서버 측 (단말) .

그러나, 거기에 경량 모듈 추가 블루, 오렌지와 레드 색상을 위해 console.info, console.warn뿐만 아니라, console.error각각은. 이에 따라 콘솔 API는 클라이언트 측처럼 작동합니다.

 npm i console-info console-warn console-error --save-dev;

여기에 이미지 설명 입력


9

허용되는 답변에 대한 추가 정보 : Chrome 및 FireFox에서 console.info로그 줄은 작은 i 아이콘으로 시작하지만 console.log줄은 그렇지 않습니다. warnerror선 앞에는 각각 작은 삼각형과 x 가 붙습니다 .


다른 곳에서 볼 수 있듯이 : Firefox 78 : log.info 출력 전에 ⓘ (원 안에 i)를 인쇄합니다. Chrome 84 : 그렇지 않습니다
Tom Hundt

3

stdin 사용자의 입력을 읽기위한 읽기 가능한 스트림입니다.

stdout 동기 또는 비동기 적으로 쓰기 가능한 스트림입니다.

stderr 오류 메시지를위한 차단 동기 쓰기 가능 스트림입니다.

stdout 또는 비 차단 기능은 console.log, console.info, util.puts, util.print 및 Stderr입니다.

차단 functons가 있습니다 console.warn, console.error, util.debug 및 process.stdin (사용자 입력을 취득하기위한 판독 스트림).


1

로그와 정보는 기본적으로 동일한 것으로 확인되었지만 질문에 대한 답이 완전히 일치하지는 않습니다.

console.log와 console.info를 사용하면 어떤 이점이 있습니까?

이미 언급 한 것 외에 한 가지 이점은 각각 다른 목적으로 사용할 수 있다는 것입니다. 예를 들어 콘솔에 빠르게 디버깅하고 항목을 뱉어 내기 위해 console.log를 사용하고 현재 앱 상태에 대한 정보와 같이 코드에서 콘솔에 출력하려는 ​​영구 메시지에는 console.info를 사용할 수 있습니다. . 그런 다음 콘솔에 임의의 개체가 인쇄되고 우연히 어딘가에 로그 문을 남겼다는 것을 알게되면 'console.log'에 대한 전역 검색을 수행하고 모든 인스턴스를 삭제하고 확신을 가질 수 있습니다. 거기에 남겨두고 싶은 중요한 것은 삭제하지 않았습니다.


0

다양한 로깅 수준을 사용하여 콘솔의 소음 수준을 관리 할 수 ​​있습니다 . Firefox (지금은 78을 사용하고 있습니다) 및 Chrome (84) devtools에서 js 콘솔을 사용하면 원하는 출력의 "디버그 수준"을 선택할 수 있습니다. 보다. FF는의 가시성을 전환 할 수 있습니다 console.error, .warn, .log, .info, 및 .debug크롬 반면, 항목 옆에 확인 표시가있는 드롭 다운이 있습니다 (( "오프"할 때, 억제 얼마나 많은을 보여) 각각에 대한 개별 버튼을 클릭하여 메시지를 .info하고 .log에 의해 제어됩니다 "정보", .debug"상세"). 출력이 억제 된 경우 Chrome 드롭 다운 레이블 ( "모든 수준"또는 사용자가 설정 한 항목)이 빨간색으로 바뀝니다.


0

console.log디버깅을 위해 일시적으로 상태 정보를 기록하는 위치 를 확인했습니다.

console.info 더 영구적 인 것입니다. 예를 들어 어떤 포트에서 어떤 포트가 실행되고 있는지, 디버깅을 마친 후에는 잘라 내지 않을 것입니다.

이렇게하면 커밋을위한 코드를 쉽게 정리할 수 있습니다. linter에 console.log가 커밋되는 것을 방지하는 규칙을 가질 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.