systemdログから特定のログのログメッセージを抽出しますか?

systemdログから特定のログのログメッセージを抽出しますか?

特定のログのログメッセージを抽出するためにsystemdのロギングを使用できるかどうか疑問に思います。たとえば、Cでログを開くと、 ""または?openlog('slog', LOG_CONS | LOG_PID, LOG_LOCAL1)以下に記録されたメッセージのみが抽出されます。slogLOCAL1

私がjournalctl -u slogこのようなことを行うと、journalctl -u LOG_LOCAL1実際のログメッセージではなく、ログの開始と終了のタイミングだけが通知されます。

ベストアンサー1

はい、可能です。しかし、間違ったスイッチをに渡していますjournalctl

~によるとログ制御(1)マニュアルページ:

  • 与えられたsyslog識別子(例えば、「foo」)を持つメッセージを読むために、journalctl -t fooまたはjournalctl SYSLOG_IDENTIFIER=foo;

  • 指定されたsyslogツールを使用してメッセージを読み取るには、発行しますjournalctl SYSLOG_FACILITY=1(ツールは数値を使用して保存および一致します)。

SYSLOG_IDENTIFIERより一般的には、syslog識別子と機能はログに別々のフィールド(および)として保存されますSYSLOG_FACILITY。 C APIなどからログにアクセスする必要がある場合は、これらのフィールドに直接一致を追加する必要があります。

このjournalctl -uスイッチは、メッセージを生成したプロセスを所有するシステムデバイスの名前に一致を追加します。したがって、これは使用に間違ったスイッチです。

おすすめ記事