私は自分のアプリとpostgresのログを追跡しています。
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log
Pgpoolのログを含める必要があります。以前はsyslogでしたが、現在はjournalctlにあります。
Tail -f && journalctl -fを結び付ける方法はありますか?
あなたは使うことができます:
journalctl -u service-name -f
-f、-follow
最新のジャーナルエントリのみを表示し、ジャーナルに追加された新しいエントリを継続的に印刷します。
ここでは、この回答を他と区別するために「service-name」を追加しました。テキストservice-name
ではなく、実際のサービス名に置き換えます。
ログエントリを journal に転送できます。
systemd-cat tail -f /tmp/myapp.log /var/log/postgresql.log
そしてjournalctl -f
...を使用しますが、Markが述べたように、すべてのジャーナルエントリが出力されます。
これらのログとその特定のユニットからのメッセージのみをフィルタリングする1つの方法は、個別のSYSLOG_IDENTIFIER
を使用することです。つまり、ユニットファイルを編集し、[Service]
セクションの下に、たとえば.
SyslogIdentifier=my_stuff
ユニットを再起動し、同じ識別子でsystemd-cat
を実行します
systemd-cat -t my_stuff tail -f /tmp/myapp.log /var/log/postgresql.log
最後に、その特定の識別子についてのみジャーナルをクエリします。
journalctl -f -t my_stuff
Bashが利用可能な場合は、tail
パラメータの1つとして プロセス置換 を使用できます。
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)
次のようなものを試してください:
tail -f /tmp/myapp.log >> /tmp/tail.log &
journalctl -f >> /tmp/tail.log &
tail -f /tmp/tail.log