Node.js
fluentd

fluent-logger-node 2.0.1

More than 1 year has passed since last update.

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

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


主な変更点


  • 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 の最近の変更点についてまとめました。