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_prefix
に null
を指定できるようになりました。
これで 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 の最近の変更点についてまとめました。