Logplex

Last Updated: 27 November 2013

Table of Contents

Logplex collates and distributes log entries from your app and other components of the Heroku platform. It makes these entries available through the Logplex public API and the Heroku command-line tool.

In a distributed system such as Heroku, manually accessing logs spread across many dynos provides a very disjointed view of an application’s event stream and omits relevant platform-level events. The logplex facility solves these issues in an accessible and extensible manner.

Sources and drains

Logplex routes messages from sources to drains.

  • Log sources are any processes that might want to emit log entries relevant to your app. Some examples: your web dynos, the Heroku platform, the Heroku routing stack, and many add-ons.

  • Log drains are any network services that want to consume your app’s logs, either for automatic processing, archival, or human consumption. Examples include the Heroku command-line tool and several log-processing and management add-ons.

Best-effort delivery

Logplex is a high-performance, real-time system for log delivery – not storage. It keeps a limited buffer of log entries.

Logplex interacts directly with various external tools and services, and requires prompt action for real-time processing. If one of these services has trouble keeping up, Logplex may be forced to discard log entries for some time. If this happens, it will insert a warning entry to indicate that some entries are missing.