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

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

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

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

Windows環境


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

view raw

gistfile1.txt

hosted with ❤ by GitHub

環境変数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」と表示される

view raw

gistfile1.txt

hosted with ❤ by GitHub

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

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

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

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

Windows環境


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

view raw

gistfile1.txt

hosted with ❤ by GitHub

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

view raw

gistfile1.txt

hosted with ❤ by GitHub

https://nodejs.org/api/util.html#util_util_debuglog_section

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA