fluent-logger-node 2.0.1


fluent-logeer-node の 2.0.1 をリリースしました

2.0.0 はCIの設定が間違っていたのでリリースをやり直したら 2.0.1 になりました

主な変更点

  • require ack response に対応
  • tag_prefix
  • エラー処理の改善
  • winston transport の追加

require ack response に対応

Fluentd v0.12 以降でサポートされている at-least-once semantics を fluent-logger-node でも利用できるようになりました。

requireAckResponse オプションを true に設定すると使えるようになります。

var logger = require('fluent-logger').createFluentSender('tag_prefix', {
   host: 'localhost',
   port: 24224,
   requireAckResponse: true
});

実装するときには以下のドキュメントを参考にしました。

tag_prefix

tag_prefixnull を指定できるようになりました。
これで emit するごとに全く別のタグを指定できるようになりました。

var logger = require('fluent-logger').createFluentSender(null, {
   host: 'localhost',
   port: 24224
});

logger.emit('tag', 'message');

これに対応したことでメジャーバージョンを上げました。

エラー処理の改善

エラー処理をまとめて書けるようになりました。

var logger = require('fluent-logger').createFluentSender(null, {
   host: 'localhost',
   port: 24224
});

logger.on('error', function(error) {
  console.log(error);
});

logger.emit('tag', 'message');

以前は emit のコールバックで似たようなことができたのですが、emit のコールバックは emit が成功したときも失敗したときも呼ばれてしまうのでコールバック内で条件分岐する必要があって不便でした。

winston transport の追加

以前、要望があった winstonjs/winston: a multi-transport async logging library for node.js 用の Transport を追加しました。

似たことをやっている外部のプロジェクトもあったのですが、winston はよく使われているようだったので fluent-logger-node 側で、サポートすることにしました。

まとめ

fluent-logger-node の最近の変更点についてまとめました。