特定のログのログメッセージを抽出するためにsystemdのロギングを使用できるかどうか疑問に思います。たとえば、Cでログを開くと、 ""または?openlog('slog', LOG_CONS | LOG_PID, LOG_LOCAL1)
以下に記録されたメッセージのみが抽出されます。slog
LOCAL1
私が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
スイッチは、メッセージを生成したプロセスを所有するシステムデバイスの名前に一致を追加します。したがって、これは使用に間違ったスイッチです。