C言語でIETF-syslogメッセージを生成するための標準的な方法はどれですか?
ヘッダー<syslog.h>があります。ただし、STRUCTURED-DATAメカニズム(rfc-5424)を使用するためのオプションはありません。
もちろん、メッセージはソケットに直接手動で作成することもできます。しかし、そのような方法は標準ではないようです。
別の標準的な方法はありますか?
openlog()
これを行う標準的な方法は、通常の、syslog()
およびcloselog()
からのルーチンを使用して、アプリケーションにメッセージを記録させることです<syslog.h>
。
syslogd
これにより、ローカル マシンで実行されている にメッセージが送信されます。メッセージが syslog プロトコルを使用してネットワーク経由で転送される場合、syslogd
それ自体がこれを処理します。たとえば、これ@hostname
はsyslogd.conf
ファイルのようなターゲットを使用して行うことができます。
つまり、アプリケーションはメッセージを に記録し、送信先 (ネットワーク経由を含む) を決定する必要がありますsyslogd
。syslogd
これにより、ローカル管理者は最大限の制御が可能になります。
うーん...そのrfcは2年未満です。いつもの容疑者がまだそれを実装していないことは、大きな驚きではないと思います。