Node.jsでutil.debuglogを使用してログ出力する方法

Node.jsでutil.debuglogを使用してログ出力する方法

require(‘util’).debuglogを使用してセクションに応じてログ出力することができます。

環境変数NODE_DEBUGに設定されているセクションに基づいてログが出力されます。

Windows環境

C:\>set NODE_DEBUG=INFO C:\>node index.js

環境変数NODE_DEBUGにINFOと設定してnodeを実行してみます。

index.js

console.log(process.env.NODE_DEBUG) // INFOと表示される
const info = require('util').debuglog(process.env.NODE_DEBUG)
info('hello %s %d', 'lambda', 1) // 「INFO 26836: hello lambda 1」と表示される

先頭にINFOなどの文字、次にプロセスIDが表示されて、ログが出力されます。

置換文字列
%s数値
%d文字列
%O展開可能なオブジェクト

環境変数にカンマ区切りでセクション設定する

セクションはカンマ区切りで複数設定することができます。INFO,WARNなどのように記述できます。

Windows環境

C:\>set NODE_DEBUG=INFO,WARN C:\>node index.js

index.js

const info = require('util').debuglog('INFO')
const warn = require('util').debuglog('WARN')
info('hello %s %d', 'lambda', 1) // INFO 244: hello lambda 1
warn('hello %s %d', 'lambda', 1) // WARN 244: hello lambda 1
Util | Node.js v18.7.0 Documentation

コメント

タイトルとURLをコピーしました