私のアプリケーションとpostgresのログを追跡しています。
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log
pgpoolのログを含める必要があります。以前はsyslogでしたが、今はJournalctlです。
tail -f&&Journalctl -fを一緒に結合する方法はありますか?
答え1
あなたが使用できる:
journalctl -u service-name -f
-f, --follow
最新のジャーナル項目のみを表示し、ジャーナルに追加された新しい項目を印刷し続けます。
ここでは、この回答を他の回答と区別するために「サービス名」を追加しました。テキストの代わりに実際のサービス名を変更できますservice-name
。
答え2
あなたはできますログエントリを次に渡します。雑誌:
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
答え3
bashが使えば使えますプロセスの交換パラメータの1つとしてtail
:
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)
答え4
使用日記の終わり:
journaltail --unit pgpool.service /tmp/myapp.log /var/log/postgresql/postgresql.main.log
私はstackoverflow et alで解決策を見つけてから1時間前にスクリプトをクリーンアップしました。