メッセージを挿入できます。システムログとシステムログタグコマンドラインで次のオプションを使用します-t
。
myprogram | logger -t MYTAG
次に、そのタグに基づいてフィルタリングします。
:syslogtag, contains, "MYTAG" /var/log/mylog
logger
上記の例では、標準出力をユーティリティに送信します。ところで、システムログにそのラベルがあるメッセージを直接プッシュしたいのですが、myprogram
ラベルの追加に関する内容が見つからないようです。システムログ文書から。
次の呼び出しを使用します。
#include <syslog.h>
...
syslog(LOG_DAEMON | LOG_DEBUG, "mymessage");
syslogtagは最終的に次のようになります。
syslog
答え1
単純な誤解です。関数を呼び出す前に関数syslog
を使用する必要がありますopenlog
。
openlog("MYTAG", LOG_CONS | LOG_PID, LOG_DAEMON);
それだけです!