Simplifies logging for systemd

idlesign idlesign Last update: Feb 03, 2022

systemd-logging

https://github.com/idlesign/systemd-logging

release lic coverage

Description

Simplifies logging for systemd

Requires Python 3.6+

  • No need to compile (pure Python), uses libsystemd.so.
  • Simplified configuration.
  • Just logging. Nothing more.

Usage

import loggingfrom systemdlogging.toolbox import init_systemd_logging# This one line in most cases would be enough.# By default it attaches systemd logging handler to a root Python logger.init_systemd_logging()  # Returns True if initialization went fine.# Now you can use logging as usual.logger = logging.getLogger(__name__)logger.setLevel(logging.DEBUG)logger.debug('My debug message')try:    raise ValueError('Log me please')except ValueError:    # Additional context can be passed in extra.context.    logger.exception('Something terrible just happened', extra={        'message_id': True,  # Generate message ID automatically.        'context': {            'FIELD1': 'one',            'FIELD2': 'two',        }    }, stack_info=True)

Read the docs to find out more.

Documentation

https://systemd-logging.readthedocs.org/

Debug runs

  1. Run your script with:
$ sudo systemd-run -u debugme -t /usr/bin/python /home/my/testme.py
  1. Watch its journal with:
$ journalctl -u debugme -f -o verbose

PRAGMA foreign_keys = off; BEGIN TRANSACTION; COMMIT TRANSACTION; PRAGMA foreign_keys = on;

Subscribe to our newsletter