Python logging module for td-agent
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

td-logger: logging library for Treasure Data Cloud


Before using this logging handler, td-agent must be properly configured at the localhost. Please confirm these settings are in your /etc/td-agent/td-agent.conf.

## built-in TCP input
  type tcp

# Treasure Data output
# match events whose tag is td.DATABASE.TABLE
<match td.*.*>
  type tdlog
  apikey YOUR_API_KEY

For more information, please look at the documentation.


$ easy_install td-logger


$ pip install td-logger


Check out the tests folder for more samples.

import logging
from tdlog import logger

l = logging.getLogger('td_logger.test')
l.addHandler(logger.TreasureDataHandler())'Some message')
js = { "semicolon" : ";", "at" : "@" }

This will throw the log entries to the local td-agent. And there's an important point. This logger accepts only 'dict' and 'json string'.

Also, these parameters are logged by default.

  • sys_host
  • sys_name
  • sys_module
  • sys_lineno
  • sys_levelno
  • sys_levelname
  • sys_filename
  • sys_funcname
  • sys_exc_info
  • msg

These parameters can be specified at TreasureDataHander constructor.

  • host: td-agent host (default:
  • port: td-agent port (default: 24224)
  • db: td database name (default: log)
  • table: td table name (default: default)
  • bufmax: buffer size max when td-agent is unavailable (default: 110241024)
  • timeout: network timeout (default: 3.0)

Have fun!

How to Develop

Folloings are the way to setup development envionment on MacOSX.

$ sudo easy_install virtualenv
$ virtualenv --no-site-packages .
New python executable in ./bin/python
Installing setuptools............done.
Installing pip...............done.
$ source bin/activate
$ bin/pip install msgpack-python

Runing tests

$ python test

Special Thanks