diff --git a/src/trick17/__init__.py b/src/trick17/__init__.py index 500ae0a..b6170f4 100644 --- a/src/trick17/__init__.py +++ b/src/trick17/__init__.py @@ -1,3 +1,10 @@ # SPDX-FileCopyrightText: 2023-present Stefano Miccoli # # SPDX-License-Identifier: MIT + +# systemd notable paths +SD_BOOTED_PATH = "/run/systemd/system" +SD_JOURNAL_SOCKET_PATH = "/run/systemd/journal/socket" + +# environmet variables possibly set by systemd +SD_JOURNAL_STREAM_ENV = "JOURNAL_STREAM" diff --git a/src/trick17/journal.py b/src/trick17/journal.py index a8d8a4f..cc692d2 100644 --- a/src/trick17/journal.py +++ b/src/trick17/journal.py @@ -13,16 +13,21 @@ import sys import syslog +import trick17 + def stderr_is_journal() -> bool: stat = os.fstat(sys.stderr.fileno()) - return os.environ.get("JOURNAL_STREAM", "") == f"{stat.st_dev}:{stat.st_ino}" + return ( + os.environ.get(trick17.SD_JOURNAL_STREAM_ENV, "") + == f"{stat.st_dev}:{stat.st_ino}" + ) class JournalHandler(logging.Handler): """Simple logger for the Systemd Native Journal Protocol""" - SADDR: str = "/run/systemd/journal/socket" + SADDR: str = trick17.SD_JOURNAL_SOCKET_PATH @staticmethod def _serialize(key: bytes, val: bytes) -> bytes: