情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsで標準エラー出力に文字列を出力する

2016/06/16

標準エラー出力に文字列を出力するには主に下のような関数を使用する方法があります。

  • process.stderr.write
  • console.error
  • console.warn

process.stderr.write

この関数は標準エラー出力に文字列を出力するだけで他には何も行いません。

process.stderr.write('xxx');

第1引数に文字列を指定します。

console.error

この関数は標準エラー出力に文字列を出力した後、改行も行います。

また、書式指定により文字列を出力することもできます。

console.error('%s%d%j', 'xxx', 100, { foo: 'xxx' });

第1引数にフォーマット(書式指定文字列が0個以上含まれる文字列)を指定します。

第2引数以降に第1引数のフォーマットの書式指定文字列に順番に埋め込む値を指定します。

書式指定文字列には下の3種類があります。

  • %s・・・文字列を埋め込みます。
  • %d・・・数値(整数と小数の両方)を埋め込みます。
  • %j・・・オブジェクトを埋め込みます。

なお、フォーマットの中で%そのものを表記したい場合には%の代わりに%%を使用します。

console.warn

この関数はconsole.error関数と全く同じ動作をします。

console.warn('%s%d%j', 'xxx', 100, { foo: 'xxx' });

サンプルコード1

process.stderr.write関数の使用例です。

process-stderr-write.js

process.stderr.write('Hello, ');
process.stderr.write('%s');

実行結果

C:\work\node>node process-stderr-write.js
Hello, %s

サンプルコード2

console.error関数の使用例です。

console-error.js

console.error('Hello, %s.', 'Kazuki');
console.error('I\'m %d years old.', 30);
console.error('You are object: %j', { name: 'Kazuki', age: 30 });

実行結果

C:\work\node>node console-error.js
Hello, Kazuki.
I'm 30 years old.
You are object: {"name":"Kazuki","age":30}

サンプルコード3

console.warn関数の使用例です。

console-warn.js

console.warn('Hello, %s.', 'Kazuki');
console.warn('I\'m %d years old.', 30);
console.warn('You are object: %j', { name: 'Kazuki', age: 30 });

実行結果

C:\work\node>node console-warn.js
Hello, Kazuki.
I'm 30 years old.
You are object: {"name":"Kazuki","age":30}

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js