FluentdにPythonから日本語の文字列を投げてみる

Fluentdに対して、fluent-logger-pythonで日本語のデータを投げて正常に動作するか試してみる。
バージョンはUbuntu 12.04(precise)、Python 2.7、td-agent 0.10.35、fluent-logger-python 0.3.3。

fluent_test.py

# coding: utf-8
from fluent import sender, event


def main():
    sender.setup('debug')
    event.Event('from_python', {u'日本語のキー': u'日本語のテスト(unicode)'})
    event.Event('from_python', {'日本語のキー': '日本語のテスト(utf8)'})

if __name__ == '__main__':
    main()

unicode型の状態と、UTF-8のstr型の状態で呼び出してみる。

実行結果

$ python fluent_test.py
$ tail -n 2 /var/log/td-agent/td-agent.log
2013-07-18 03:13:42 +0900 debug.from_python: {"日本語のキー":"日本語のテスト(unicode)"}
2013-07-18 03:13:42 +0900 debug.from_python: {"日本語のキー":"日本語のテスト(utf8)"}

どちらも問題なく動作するようだ。