Skip to main content

Balanced event logging schema and library

Project description


Balanced event logging schema and library

Log schema design goals

  • Schema version annotated

  • Provide sufficient information about the event

  • Open and close (be flexible, avoid unnecessary change to schema)

Design rationals

OSI Network Model Structure

Data in the log can be divided into two major groups, one is the meta data, which is the data about the event. The another group is the log for application itself. In most cases, applications should only be interested in the application log itself. And the logging facility should only be interested in how to handle the whole event rather than to consume the content of application log. Also, since schema of application can variant, we don’t want change the whole schema everytime when application log is change. Consider these issues, one idea come to my mind is Internet OSI model is actually dealing with the same issue. It’s like TCP/IP protocol doesn’t need to know the content of application layer. Similarly, logging facility doesn’t have to know the content of application log. With this idea in mind, I define two layers for our logging system.

  • Facility layer

  • Application layer

Facility layer is all about the event, when it is generated, who emited this event, what’s its routing tag and etc. Application layer is all about application data, like a dispute is processed, a debit is created and etc.

Facility layer



Open content


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

balog-0.0.7.tar.gz (12.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page