问题标签 [systemd-journald]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
logging - journalctl中的双行
我为我的应用程序创建了一个服务文件并通过systemctl start app
. 问题是当我使用时,journalctl -fe /opt/app
我看到每个事件有两行:
linux - 谁能给我有关日志和系统日志的更多详细信息
任何人都可以帮助我了解日志记录和 rsyslog 之间的区别以及每个优点和缺点,我应该使用哪一个
c - 无法从使用 C 更改 uid/gid 的程序中读取 systemd (v219) 日志
所以这是我的代码:
这是“man sd_journal_get_fd”中的示例,在开头添加了 setgid/setuid 调用。它无法从日志中读取。
uid 为 1000 的用户在 systemd-journal 组中,并且可以使用 journalctl 命令成功读取日志。
当从 root 或从具有 uid 1000 且没有 setgid/setuid 调用的用户运行时,它工作正常。
我试图涵盖的用例如下:它是一个 systemd 服务,应该以 root 身份运行,做一些“root”相关的事情并开始从一些文件/期刊中读取。问题是“某些文件”是可配置的,我们不能允许它在未经许可的情况下访问文件,因为它会造成安全漏洞。这就是为什么在它执行过程中的某个时候调用 setgid/setuid 的原因。它也不能作为非根服务启动,因为它正在做一些“仅限根”预定义的东西。上面的代码只是一个简化。
这不适用于具有 systemd 219 的 CentOS 7,但它适用于具有 systemd 245 的 Ubuntu 20.04
任何有关如何解决问题的建议、systemd-journal 错误报告或为什么上述方案不适用的文档都值得赞赏。
c++ - linux:使用 execvp() 启动后 syslog 不工作
- 提到的案例正在使用内核(5.4.0-91-generic)在 ubuntu 上工作,但它不适用于内核(4.19.71)
- 在更改用户 ID 和组 ID 后,我正在使用 launcher.cpp 启动应用程序,
- 但在那之后 test_app.cpp 无法使用 syslog 进行记录。(没有日志记录)
- 验证日志日志的命令:journalctl -f
- 我能在日志中看到的所有 launcher.cpp 日志只有启动 test_app.cpp 日志没有出现。
启动测试应用程序的命令:
- $sudo ./launcher test_server ./test_app
下面是启动器和测试应用程序代码:
启动器.cpp:
test_app.cpp:
logging - 使用 journald / rsyslogd 导出日志
我正在尝试将内核日志 (/var/log/messages) 导出到远程 Syslog 服务器。到目前为止,大部分系统日志目前都存储在 journald 中,并且 rsyslogd 被禁用。
所以,我打算使用 rsyslogd 来导出日志(通过配置 rsyslog.conf 文件)。首先,我会将这些内核日志从 journald 传递到 rsyslogd,然后将它们导出。
有人可以建议这是否是正确的前进道路,或者我可以直接使用日记来实现同样的目标吗?
syslog - QNX Slogger2 与 Syslog
Slogger2(系统记录器)和基于 Linux 的syslog有什么区别?
我了解journald 和 syslog 之间的区别。Slogger2 还提供了一种将 syslog 消息重定向到 slogger2 的方法。
它是 QNX 的 syslog 版本,因为它处理 palin 文本文件吗?它是否也使用类似logrotate的工具来处理文件大小?
go - Uber Zap Logger:如何在每个日志条目前面加上一个字符串
我将我的应用程序用作 SystemD 服务,并且需要在每条消息之前添加<LEVEL>
JournalD 的入门级别,例如:
否则,JournalD 将所有条目视为同一级别,我想使用其高级功能仅显示特定级别的日志。
如何<6>
使用 uber-zap 库在每个日志条目之前添加正确的级别标签(例如 Info it would be )?
编辑:这是我的记录器配置的相关部分:
logging - 如何使用发布二进制文件将 rust 日志记录到 journalctl
我在 rust 中开发了一些东西,并记录了一些错误或警告。我正在使用 systemd_journal_logger lib 来完成这项工作。在我编译并尝试使用 relase 二进制文件之前,它工作正常。由于其中不存在调试符号,因此它根本无法记录。在这种情况下有没有办法让日志工作?
我发现 shared_memory 库导致它
我有一个简单的例子
在我的Cargo.toml我有
运行它
甚至
完美地看着杂志
但如果我包括
作为依赖
停止工作
logging - 以编程方式解析 journalctl 以启动操作
当我的 3d 打印机用完灯丝时,它会暂停而不发送任何警报消息。我能找到的唯一条目是 journalctl 上的一条消息,如下所示:
Jan 22 04:36:39 ultimakersystem-flipflop_wsgi.py[2884]: INF - root:80 - PrintJobStatus updated! 6e408dcf-9887, paused
当打印机暂停时,我绝对需要得到提醒,否则打印将被破坏。有没有办法以编程方式轮询/解析 journalctl,例如通过 bash 或 python 脚本,并根据需要发送电子邮件?
logging - journalctl 输出格式,没有时间戳,但有特定的输出字段
我使用 journalctl 并希望使用可以指定要显示的输出字段的输出格式。这些是例如详细或 json。
但是一旦我设置了这些输出格式,就会自动添加一个巨大的 UTC 时间戳,这会造成很多混淆并导致输出很长。
我可以指定关闭时间戳时要显示的输出字段吗?
我发现了这一点:journalctl 删除以下划线开头的字段,但该问题没有答案。提前谢谢你