Journalctl 是否允许访问所有日志?

Journalctl 是否允许访问所有日志?

在我的大学里,我们研究了它rsyslog如何存储日志以及存储日志的位置 ( /var/log/),以及如何配置它......

现在,我(通过上网)了解到,一种存储日志文件的新方法已经出现systemd-journald。要访问此服务存储的日志,您可以使用命令journalctl,我非常喜欢最后一个命令的简单性和强大功能。我还知道rsyslog主要 Linux 发行版的最新版本中都保留了它,因为很多软件包都依赖于它。

我的问题是:通过使用journalctl访问日志数据,我是否可以访问系统上存在的所有日志数据?或者是否存在某些日志数据只能使用旧方式访问的情况(less /var/log/some_log_file)。

对于那些不理解的人来说,用另一种方式提出我的问题:通过使用journalctl,我是否可以完全忘记使用less /var/log/some_log_file

答案1

  • 如果不检查系统上的所有代码,您就无法确定您是否确实收到了所有日志。任何程序都可以使用任何机制自由记录 - 保存到文件、将日志保存在内存中以便在信号触发时保存,或者您能想到的任何其他机制。在某些情况下,“日志”和用于进一步处理的机器可读内容之间的差异可能是视角问题,因此没有适合每个程序的解决方案。
  • 对于简单的服务,journalctl -u service_name将显示该服务的标准输出和标准错误。其他日志记录方法logger可以配置为将内容定向到 systemd 日志。
  • 仍在记录 /var/log 中文件的任何程序大概不是以日志可用的方式记录journalctl(冗余的意义是什么?),但它可以

相关内容