Python systemd wrapper using Cython
You should install systemd headers
For debian users:
apt-get install build-essential \
libsystemd-journal-dev \
libsystemd-daemon-dev \
libsystemd-devFor CentOS/RHEL
yum install gcc systemd-develAnd install it from pypi
pip install systemdSystemd daemon notification
from systemd.daemon import notify, Notification
# Send READY=1
notify(Notification.READY)
# Send status
notify(Notification.STATUS, "I'm fine.")
# Send stopping
notify(Notification.STOPPING)Write message into Systemd journal
from systemd import journal
journal.write("Hello Lennart")
# Or send structured data
journal.send(
message="Hello Lennart",
priority=journal.Priority.INFO,
some_field='some value',
)Or add logging handler to python logger
from systemd import journal
import logging
import uuid
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger()
logger.addHandler(journal.JournaldLogHandler())
try:
log.info("Trying to do something")
raise Exception('foo')
except:
logger.exception("Test Exception %s", 1)