programing

Node.js 형식의 콘솔 출력

javaba 2021. 1. 14. 23:06
반응형

Node.js 형식의 콘솔 출력


Node.js의 콘솔에 형식화 된 데이터를 출력하는 간단한 기본 제공 방법이 있습니까?

들여 쓰기, 필드를 왼쪽 또는 오른쪽으로 정렬, 앞에 0을 추가 하시겠습니까?


ES2017 (ES8)에는 필수 패딩 기능을 수행하는 두 개의 새로운 (1) 내장 메서드 String.Prototype.padStartString.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

https://nodejs.org/dist/latest-v10.x/docs/api/console.html#console_console_table_tabulardata_properties

이것은 코드입니다.

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

반응형