JavaScript:
標準エラーへの書き込み
方法:
Node.jsでは、stderrへの書き込みはconsole.error()
メソッドを使用するか、process.stderr
に直接書き込むことで達成できます。以下に両方のアプローチを示す例を示します:
// console.error()を使用
console.error('これはエラーメッセージです。');
// process.stderrに直接書き込む
process.stderr.write('これは別のエラーメッセージです。\n');
両方の方法のサンプル出力は、stdoutと混在せずにstderrストリームに表示されます:
これはエラーメッセージです。
これは別のエラーメッセージです。
より洗練された、またはアプリケーション固有のログ記録のために、多くのJavaScriptプログラマーはwinston
やbunyan
のようなサードパーティのライブラリを使用します。winston
を使用した簡単な例を示します:
まず、npm経由でwinston
をインストールします:
npm install winston
次に、winston
を配置して、エラーをstderrに記録します:
const winston = require('winston');
const logger = winston.createLogger({
levels: winston.config.syslog.levels,
transports: [
new winston.transports.Console({
stderrLevels: ['error']
})
]
});
// エラーメッセージのログ記録
logger.error('エラーがwinstonを通して記録されました。');
このセットアップにより、winston
を使用してエラーをログ記録する場合、stderrに向けられ、標準出力とエラー出力の明確な区分を維持するのに役立ちます。