情報アイランド

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

Node.js+Bunyanで子ロガーを作成する

ログを出力するには下のようなモジュールを利用する方法があります。

  • log
  • npmlog
  • bunyan
  • winston
  • log4js

この記事ではbunyanモジュールを利用する方法を取り上げます。

bunyanモジュールの基本的な使用方法に関しては下の記事を参照してください。

子ロガー

子ロガーとはロガーから派生し、元のロガー固有の項目に加えて更に子ロガー固有の項目もログに出力するロガーです。

bunyanモジュールで子ロガーを作成するにはlogger.child関数を使用します。

var childLogger = logger.child({
    foo: 'xxx', 
    bar: 'yyy'
});

第1引数に子ロガー固有の項目を指定します。

返り値として子ロガーが得られます。

サンプルコード1

bunyan-child.js

var bunyan = require('bunyan');

var logger = bunyan.createLogger({
    name: 'main', 
});

logger.info('information from a parent logger.');

var child = logger.child({ child: true });

child.info('information from a child logger.');

var childchild = child.child({ childchild: true });

childchild.info('information from a child child logger.');

使用パッケージ

  • Bunyan
    npm install bunyanでインストールします。

実行結果

C:\work\node>node bunyan-child.js
{"name":"main","hostname":"mainnote","pid":792,"level":30,"msg":"information from a parent logger.","time":"2016-08-21T02:58:05.113Z","v":0}
{"name":"main","hostname":"mainnote","pid":792,"child":true,"level":30,"msg":"information from a childlogger.","time":"2016-08-21T02:58:05.113Z","v":0}
{"name":"main","hostname":"mainnote","pid":792,"child":true,"childchild":true,"level":30,"msg":"information from a child child logger.","time":"2016-08-21T02:58:05.113Z","v":0}

関連

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

-Node.js