用于 systemd 用户服务的日志

用于 systemd 用户服务的日志

我使用 systemd 的用户级服务管理来运行很多东西。到目前为止,能够利用计时器、条件服务等已经很棒了,但最缺少的就是持久性日志。

我使用的是 Ubuntu 16.04。我可以通过查看服务状态systemctl --user status servicename.service,但无法通过以下方式查看任何日志journalctl

$ journalctl --user
No journal files were found.
-- No entries --

我需要做些什么才能使用户级日志支持正常工作吗?

答案1

两件事情:

  1. Ubuntu systemd 日志条目默认情况下不是持久的。编辑/etc/systemd/journald.conf并设置Storage=persistent以修复该部分。
  2. 很遗憾,在带有 systemd 239 的 Ubuntu 16.04 上,journalctl --user --unit=journalctl --user-unit=.虽然前者可能更直观,但后者可能就是您想要的。

答案2

我没有意识到我试图读取日志的用户是系统用户。 Systemd将系统帐户的用户服务日志定向到系统日志:https://wiki.archlinux.org/index.php/systemd/User#Reading_the_journal

相关内容