Nekoya Press

2014-04-08 Tue 07:38

tcptestにfluentdのテストサーバを追加しました

Pythonからテスト用の各種サーバを起動するライブラリ、tcptestにfluentdを起動するモジュールを追加しました。

  • https://pypi.python.org/pypi/tcptest/0.4.0

こんな感じで使うと、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に投げてるだけです。

サーバ停止前のウェイトとか何も考えてない感じですが、まぁとりあえずこれで。

nekoya.github.io