bik*_*key 66 tail systemd journalctl
我正在跟踪我自己的应用程序和 postgres 的日志。
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log
Run Code Online (Sandbox Code Playgroud)
我需要包含 pgpool 的日志。它曾经是 syslog,但现在它在 journalctl 中。
有没有办法将 tail -f && journalctl -f 绑定在一起?
小智 97
你可以使用:
journalctl -u service-name -f
Run Code Online (Sandbox Code Playgroud)
-f, --关注
仅显示最近的日记帐分录,并在新分录附加到日记帐时连续打印它们。
在这里,我添加了“服务名称”以将这个答案与其他答案区分开来;您替换实际服务名称而不是文本service-name。
don*_*sti 20
您可以将日志条目转发到journal:
systemd-cat tail -f /tmp/myapp.log /var/log/postgresql.log
Run Code Online (Sandbox Code Playgroud)
然后使用journalctl -f... 虽然正如马克提到的那样,这将打印所有日记帐分录。
仅过滤来自这些日志和特定单元的消息的一种方法是使用不同的SYSLOG_IDENTIFIER即编辑单元文件并在该[Service]部分下添加例如
SyslogIdentifier=my_stuff
Run Code Online (Sandbox Code Playgroud)
重新启动单元然后systemd-cat使用相同的标识符运行
systemd-cat -t my_stuff tail -f /tmp/myapp.log /var/log/postgresql.log
Run Code Online (Sandbox Code Playgroud)
最后只查询该特定标识符的日志:
journalctl -f -t my_stuff
Run Code Online (Sandbox Code Playgroud)
如果您有可用的 bash,则可以使用进程替换作为tail参数之一:
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)
Run Code Online (Sandbox Code Playgroud)
小智 1
尝试类似的东西:
tail -f /tmp/myapp.log >> /tmp/tail.log &
journalctl -f >> /tmp/tail.log &
tail -f /tmp/tail.log
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82642 次 |
| 最近记录: |