Journald não está registrando campos customizados no debian

0

Eu tenho o seguinte script que executo em uma máquina Arch Linux, assim como em uma máquina trecho Debian. Na máquina Arch Linux eu sou capaz de encontrar o valor aleatório que foi registrado, enquanto eu não consigo recuperá-lo na máquina Debian.

Alguém sabe se eu preciso configurar algo no Debian de forma diferente? Ou se é porque eu estou rodando uma versão mais antiga do systemd no 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"},
)

O comando que estou usando para verificar se o número aleatório foi registrado é:

journalctl  -S "10 minutes ago" \
            LOGGER="this_is_a_logger" \
            -o json-pretty \
            | jq -r  ".RANDOM_NUMBER"
    
por Varun Madiath 11.10.2018 / 05:52

1 resposta

1

Não. Você está usando uma versão desatualizada do python-systemd ; O Debian stable tem o v233, enquanto o suporte para o parâmetro extra= do adaptador do criador de logs foi adicionado apenas na versão v234 . / p>

Se você não puder atualizar o módulo python, use a API '%' systemd.journal.send() .

    
por 11.10.2018 / 06:51