jamesabel / balsa

object-oriented python logging

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

balsa (logging utility)

Simple to use package that sets up Python logging. With just a few lines of code get well formatted logging to the console, log file, popup windows and exception services.

Here is a short Presentation on Balsa.

Installation

pip install balsa

Major Features

  • Simple to use. Add full-featured Python logging in just a few lines of code.
  • Sane default log levels. Single verbose flag. (All levels can be overridden if desired.)
  • Both console (stdout) and GUI (popup window) support.
  • Log file support. Uses appdirs for log file paths.
  • Structured logging via yasf.sf() (optional - you can still use simple strings).
  • Sentry support. Just provide your Sentry DSN.
  • Informative log message formatting (or you can change it if you like).
  • ISO 8601 timestamp format (with fractional seconds).
  • Cross platform (Windows, Linux, MacOS). Pure Python.
  • Multiprocessing support.
  • AWS CloudWatch logs support. Structured logs enable CloudWatch Logs Insights.

Simple Example

from balsa import get_logger, Balsa

application_name = 'example'

log = get_logger(application_name)


def main():
    balsa = Balsa(application_name, 'james abel')
    balsa.init_logger()
    log.error('my error example')

This will yield output of this form:

2021-10-24T10:49:04.150790-07:00 - example - balsa_simple_example.py - 12 - main - ERROR - my error example

Where did the name come from?

Balsa lumber is very soft and light, with a coarse, open grain. The Balsa package is light weight, malleable, and open source.

About

object-oriented python logging

License:MIT License


Languages

Language:Python 96.7%Language:Batchfile 2.9%Language:Shell 0.4%