Skip to main content

logging utility

Project description

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. Set the BALSA_DEV environment variable to keep development-time errors out of Sentry.

  • Sentry structured logs support. Set use_sentry_logs to send log records to Sentry as searchable, first-class log entries (requires sentry-sdk 2.35+).

  • 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.

  • Optional error callback, e.g. to notify the user or exit on any error.

  • In-memory buffer of recent log lines via Balsa.get_string_list().

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')


if __name__ == '__main__':
    main()

This will yield output of this form:

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

More examples are in the examples directory.

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.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

balsa-0.23.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file balsa-0.23.1-py3-none-any.whl.

File metadata

  • Download URL: balsa-0.23.1-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for balsa-0.23.1-py3-none-any.whl
Algorithm Hash digest
SHA256 43d293cd3bed7b37eee3942d6a9346b8bcf26f25fad6c36b0d1e8a16f3659d3a
MD5 fcbd1b4fc76379499400fe2242abfe19
BLAKE2b-256 31ddf601168dfa1c1a9b200d3ba6c4746726ff4c2a5ee4b51bb09ec1140dcaf5

See more details on using hashes here.

Supported by

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