
Arch Linux 시스템과 Debian 스트레치 시스템 모두에서 실행하는 다음 스크립트가 있습니다. Arch Linux 컴퓨터에서는 기록된 임의의 값을 찾을 수 있지만 Debian 컴퓨터에서는 검색할 수 없는 것 같습니다.
데비안에서 뭔가를 다르게 구성해야 하는지 아는 사람 있나요? 아니면 내가 systemd
데비안에서 이전 버전을 실행하고 있기 때문인가요 ?
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
아니요. 오래된 버전을 사용하고 있습니다.파이썬 시스템; Debian stable에는 v233이 있지만 로거 어댑터 extra=
매개변수에 대한 지원만 추가되었습니다.버전 v234에서.
Python 모듈을 업그레이드할 수 없는 경우 'raw' systemd.journal.send()
API를 사용하세요.