Distlog

A logging system with an attitude for distributed software systems.

Features

Distlog (Python package)

  • Fully compatible with the standard Python logging package.
  • Structured logging: Next to the ubiquitous log message, Distlog allows you to incorporate entire data sets in your log message.
  • Scoped logging messages: Log messages can be structured in a tree like fashion. A task consisting of multiple subtasks, all producing log messages can be displayed as a tree the branches (subtasks) of which containing the leaves (log messages) can be folded and unfolded to show relevant or hide irrelevant messages.
  • Scoped logging also works over process boundaries. A software system using a services architecture can create a coherent view of its execution where a service, possible executing on another host, is displayed as a subtask in the log message tree for a task.
  • Implements a handler that uses ØMQ to send and collect log messages from all components of the distributed application.

Distlogd (daemon)

  • Collects all log messages sent by Distlog over ØMQ.
  • Uses a plugin architecture where each plugin gets to process all incoming messages. Plugins can then decide if and how to process a message.
  • Contains predefined plugins to store the messages in a file, a MongoDB or Redis database or to publish them using ØMQ’s PUB/SUB mechanism.
  • Distlogd and its plugins are configurable using a YAML configuration file.

Indices and tables