首页 > 解决方案 > 在 linux journalctl 中查看用户 ID

问题描述

journalctl -f用来查看进程写入的日志,但它不会打印启动进程写入 syslog 的用户。我们可以为 journalctl 提供任何选项以打印用户 ID 吗?谢谢。

标签: linuxlogging

解决方案


如果您运行journalctl -o verbose,您将看到每个条目的完整日志记录,如下所示:

Fri 2019-08-02 20:02:11.307673 EDT [s=e328b42f9ccd4ef28cc946dba525b34c;i=12377a1;b=299ec3a7a9e545f3ab77225c045aee0c;m=7a7d1960ef;t=58f2b2fc43900;x=ceff52112a8146ae]
    _TRANSPORT=journal
    _UID=1000
    _GID=1000
    _CAP_EFFECTIVE=0
    _AUDIT_LOGINUID=1000
    _SYSTEMD_OWNER_UID=1000
    _SYSTEMD_SLICE=user-1000.slice
    _SYSTEMD_USER_SLICE=-.slice
    _BOOT_ID=299ec3a7a9e545f3ab77225c045aee0c
    _MACHINE_ID=39332780e5924d6ba0bdf775223941f6
    _HOSTNAME=madhatter
    PRIORITY=6
    SYSLOG_FACILITY=3
    CODE_FILE=../src/core/job.c
    CODE_LINE=594
    CODE_FUNC=job_log_begin_status_message
    SYSLOG_IDENTIFIER=systemd
    MESSAGE=Starting GNOME Terminal Server...
    JOB_ID=1446
    JOB_TYPE=start
    USER_UNIT=gnome-terminal-server.service
    USER_INVOCATION_ID=188bcf32f532490c8ce5ec486895f9d0
    MESSAGE_ID=7d4958e842da4a758f6c1cdc7b36dcc5
    _PID=3329
    _COMM=systemd
    _EXE=/usr/lib/systemd/systemd
    _CMDLINE=/usr/lib/systemd/systemd --user
    _AUDIT_SESSION=3
    _SYSTEMD_CGROUP=/user.slice/user-1000.slice/user@1000.service/init.scope
    _SYSTEMD_UNIT=user@1000.service
    _SYSTEMD_USER_UNIT=init.scope
    _SYSTEMD_INVOCATION_ID=5537b4a00b5946ce9f3b2b664c3d10e8
    _SOURCE_REALTIME_TIMESTAMP=1564790531307673

查看man journalctl更多信息。例如,-o json如果您想以某种方式以编程方式处理日志行。


推荐阅读