Skip to content

ei-grad/python-systemd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SystemD for Python

Latest Version

Python systemd wrapper using Cython

Installation

You should install systemd headers

For debian users:

apt-get install build-essential \
    libsystemd-journal-dev \
    libsystemd-daemon-dev \
    libsystemd-dev

For CentOS/RHEL

yum install gcc systemd-devel

And install it from pypi

pip install systemd

Usage examples

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

About

Python systemd wrapper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%