Node.js 형식의 콘솔 출력
Node.js의 콘솔에 형식화 된 데이터를 출력하는 간단한 기본 제공 방법이 있습니까?
들여 쓰기, 필드를 왼쪽 또는 오른쪽으로 정렬, 앞에 0을 추가 하시겠습니까?
ES2017 (ES8)에는 필수 패딩 기능을 수행하는 두 개의 새로운 (1) 내장 메서드 String.Prototype.padStart 및 String.Prototype.padEnd 가 도입되었습니다.
(1) 노드> = 8.2.1 (또는 --harmony 플래그로 실행하는 경우> = 7.5.0)
mdn 페이지의 예 :
'abc'.padStart(10); // " abc"
'abc'.padStart(10, "foo"); // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0"); // "00000abc"
'abc'.padStart(1); // "abc"
'abc'.padEnd(10); // "abc "
'abc'.padEnd(10, "foo"); // "abcfoofoof"
'abc'.padEnd(6, "123456"); // "abc123"
'abc'.padEnd(1); // "abc"
콘솔에 json을 들여 쓰 려면 JSON.stringify를 사용해보십시오 . 세 번째 매개 변수는 필요한 들여 쓰기를 제공합니다.
JSON.stringify({ a:1, b:2, c:3 }, null, 4);
// {
// "a": 1,
// "b": 2,
// "c": 3
// }
이를 위해 NodeJS에 내장 된 것은 없습니다. 당신이 올 "가장 가까운"것은이며 util.format
, 불행히도 여전히 많은 일을하지 않습니다 ( 참조 ).
더 풍부한 서식 환경을 제공하려면 다른 모듈을 살펴 봐야합니다. 예 : sprintf .
Sprintf-js는 위치 (0, 1, 2) 인수와 명명 된 인수를 모두 허용합니다.
패딩 및 정렬의 몇 가지 예 :
var sprintf=require("sprintf-js").sprintf;
console.log(sprintf("Space Padded => %10.2f", 123.4567));
console.log(sprintf(" _ Padded => %'_10.2f", 123.4567));
console.log(sprintf(" 0 Padded => %010.2f", 123.4567));
console.log(sprintf(" Left align => %-10.2f", 123.4567));
결과 :
Space Padded => 123.46
_ Padded => ____123.46
0 Padded => 0000123.46
Left align => 123.46
데이터가 표 형식 인 경우 가장 간단한 방법은 console.table
이것은 코드입니다.
console.table(
COMMANDS.map(command => {
return {
"Long Option": command.long_option,
"Short Option": command.short_option,
Description: command.description
};
})
);
이를 위해 외부 라이브러리가 필요하지 않습니다. 다음은 샘플 출력입니다. 배열 객체 만 전달하면됩니다.
Nodejs뿐만 아니라 크롬에서도 작동합니다.
https://developer.mozilla.org/en-US/docs/Web/API/Console/table
더 간단한 요구 사항이 있으면 util.format을 살펴볼 수 있습니다 . 다양한 매개 변수에서 문자열을 생성 할 수 있습니다. 형식화와 같은 printf를 원한다면 sprintf 패키지 또는 sprintf-js 패키지를 사용할 수 있습니다 .
string-kit 및 terminal-kit을 좋아할 수도 있습니다.
https://www.npmjs.com/package/string-kit
https://www.npmjs.com/package/terminal-kit
https://blog.soulserv.net/terminal-friendly-application-with-node-js-part-ii-moving-and-editing/
Log4j의 기능 포트에 대한 시도 인 Log4JS를 살펴보십시오.
참조 URL : https://stackoverflow.com/questions/19837697/node-js-formatted-console-output
'programing' 카테고리의 다른 글
Android Studio를 업데이트 할 수 없음-다운로드 만 (0) | 2021.01.14 |
---|---|
START_OBJECT 토큰에서 java.lang.String 인스턴스를 역 직렬화 할 수 없습니다. (0) | 2021.01.14 |
RStudio의 모든 플롯을 지우는 코드 (0) | 2021.01.14 |
Rust에서 함수를 매개 변수로 어떻게 전달합니까? (0) | 2021.01.14 |
ASP MVC 쿠키가 유지되지 않음 (0) | 2021.01.14 |