tail &journalctl 結合

tail &journalctl 結合

私のアプリケーションと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時間前にスクリプトをクリーンアップしました。

関連情報