Journald 不記錄 debian 上的自訂字段

Journald 不記錄 debian 上的自訂字段

我有以下腳本,可以在 Arch Linux 機器和 Debian Stretch 機器上運行。在 Arch Linux 機器上,我能夠找到記錄的隨機值,而我似乎無法在 Debian 機器上檢索它。

有人知道我是否需要在 Debian 中進行不同的配置嗎?或者這只是因為我systemd在 Debian 上運行舊版本?

import logging
import random

from systemd.journal import JournalHandler

LOGGER = logging.getLogger("this_is_a_logger")
JOURNAL_HANDLER = JournalHandler()

JOURNAL_HANDLER.setFormatter(logging.Formatter("%(message)s"))

# add the journald handler to the current logger
LOGGER.addHandler(JOURNAL_HANDLER)

# optionally set the logging level
LOGGER.setLevel(logging.DEBUG)

LOGGER.info(
    "test log event to systemd!",
    extra={"RANDOM_NUMBER": random.randint(0, 10), "LEVEL": "INFO"},
)

我用來檢查隨機數字是否已記錄的命令是:

journalctl  -S "10 minutes ago" \
            LOGGER="this_is_a_logger" \
            -o json-pretty \
            | jq -r  ".RANDOM_NUMBER"

答案1

不。python-systemd; Debian 穩定版本有 v233,但extra=僅添加了對記錄器適配器參數的支持在 v234 版本中

如果無法升級 python 模組,請使用「原始」systemd.journal.send()API。

相關內容