Distinguir níveis no journalctl

2

Posso, de alguma forma, fazer o journalctl imprimir os níveis de log ao lado das mensagens reais?

Encontrei a opção -p , mas não é isso que estou procurando, quero ver os erros e os avisos, mas quero diferenciá-los.

A única coisa que eu encontrei é de man journalctl :

When outputting to a tty, lines are colored according to priority: lines of level ERROR and higher are colored red; lines of level NOTICE and higher are highlighted; other lines are displayed normally.

Este é um bom começo, mas eu ainda gostaria de separar todos os 8 níveis, não agregá-los em apenas três.

    
por Ordoshsen 02.12.2017 / 19:28

1 resposta

2

A única opção é usar as opções de formatação de saída. Por exemplo, journalctl -o verbose mostrará todos os dados conectados a uma entrada específica. Exemplo:

Wed 2017-02-08 21:06:27.524361 EET [s=f689734c6c674cfd98a49e66c3349fdd;i=42c;b=01111969442644239da701153bd49c37;m=23e9195;t=548098fc53333;x=c943c53e7411726]
    PRIORITY=6
    SYSLOG_FACILITY=3
    CODE_FILE=src/core/job.c
    CODE_LINE=804
    CODE_FUNCTION=job_log_status_message
    SYSLOG_IDENTIFIER=systemd
    MESSAGE_ID=39f53479d3a045ac8e11786248231fbf
    USER_UNIT=timers.target
    MESSAGE=Reached target Timers.
    RESULT=done
    _TRANSPORT=journal
    _PID=874
    _UID=1000
    _GID=1000
    _COMM=systemd
    _EXE=/usr/lib/systemd/systemd
    _CMDLINE=/usr/lib/systemd/systemd --user
    _CAP_EFFECTIVE=0
    _SYSTEMD_CGROUP=/user.slice/user-1000.slice/[email protected]/init.scope
    _SYSTEMD_OWNER_UID=1000
    [email protected]
    _SYSTEMD_USER_UNIT=init.scope
    _SYSTEMD_SLICE=user-1000.slice
    _SYSTEMD_USER_SLICE=-.slice
    _SYSTEMD_INVOCATION_ID=2f397502a38947d5b18eca7eb5f5b1ba
    _SOURCE_REALTIME_TIMESTAMP=1486580787524361
    _BOOT_ID=01111969442644239da701153bd49c37
    _MACHINE_ID=4de8a7d0aad84611b2e1dfb0ff8f43e7
    _HOSTNAME=dracula

Aqui, o campo PRIORITY aponta para um nível de mensagem (neste caso, é INFO level). Os níveis mapeiam desta forma:

0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug

Eu não acho que você possa evitar outros metadados e deixar apenas o nível da mensagem (corrija-me se estiver errado) sem algum tipo de pós-processamento (script de shell personalizado etc).

    
por 02.12.2017 / 19:53