2014-04-08 Tue 07:38
tcptestにfluentdのテストサーバを追加しました
Pythonからテスト用の各種サーバを起動するライブラリ、tcptestにfluentdを起動するモジュールを追加しました。
こんな感じで使うと、server.logsに軽く整形されたログが溜まっていくのでテストがわりと楽に書けます。
import fluentd.sender
import fluentd.event
with tcptest.fluentd.Server() as server:
fluent.sender.setup('app', port=server.port)
fluent.event.Event('follow', {'foo': 'bar'})
fluent.event.Event('label', {'hoge': 'fuga'})
print server.logs
# [('app.follow:', {u'foo': u'bar'}), ('app.label:', {u'hoge': u'fuga'})]
やってることは単純で、out_stdoutに投げてるだけです。
サーバ停止前のウェイトとか何も考えてない感じですが、まぁとりあえずこれで。