我正在使用 sudo journalctl -u some-service -f
查看服务日志。但是,当服务运行时,最后的日志总是以下形式:
***来自某些服务的先前实例的大量日志***
4 月 14 日 09:03:05 用户计算机 systemd[1]:停止了一些服务。
4 月 14 日 09:03:35 用户计算机 systemd[1]:启动了一些服务。
我希望看到的:
***来自某些服务的先前实例的大量日志***
4 月 14 日 09:03:05 用户计算机 systemd[1]:停止了一些服务。
4 月 14 日 09:03:35 用户计算机 systemd[1]:启动了一些服务。
***来自某些服务的当前实例的新日志***
为什么我看不到当前运行的服务实例的日志?只有停止/重新启动服务后,我才能看到该实例的日志。
请帮忙。
最佳答案
问题是特定于应用程序的,与 systemd 或 journalctl 无关。
对于我的 Python 服务,我必须禁用输出缓冲区:
[Service]
StandardOutput=journal
StandardError=journal
Environment="PYTHONUNBUFFERED=x"
对于我的 PHP 应用程序,我只需在刷新内容之前添加一个换行符即可。
关于linux - 查看运行服务的journalctl日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49828995/