从命令行到特定命名空间的 Systemd 日志日志

问题描述

如何从命令行登录到特定的 systemd 日志命名空间?

使用 Systemd 启动服务时,可以给 LogNamespace=myNamespaceStandardOutput=journal 作为单元文件中配置的一部分。

要查看此命名空间的输出,只需调用 journalctl --namespace=myNamespace 即可仅查看此命名空间的输出

使用 systemd-cat 可以直接从命令行打印到日志中: echo "Hello Journal!" | systemd-cat

打印“Hello Journal!”确实出现在认(匿名?)命名空间中,该命名空间通过 journalctl 可见。它不在任何命名空间内,并且在使用 journalctl --namespace=myNamespace 时不可见。

更具体地说明最初的问题: 查看 journalct -f --namespace=myNamespace 时,如何使从命令行启动的进程的输出(没有 systemd,只是纯二进制)在此视图中可见?

类似于 echo "Hello Journal!" | systemd-cat --log-namespace=myNamespace

我使用 LogNamespaces 来分隔不同的应用程序日志。如果这不是预期用途,也可以接受以另一种(更好)方式解释如何做到这一点的答案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)