syslog_provider_t *TRACE_SYSLOG_UTIL_API syslog_provider_init ( const char *ident, int facility )syslog プロバイダを初期化する。
openlog を呼び出し、指定された識別子と facility で syslog 接続を開きます。
成功時: ハンドル。失敗時: NULL。
#include <syslog.h>
#include <trace-syslog-util.h>
syslog_provider_t *h = syslog_provider_init("myapp", LOG_USER);int TRACE_SYSLOG_UTIL_API syslog_provider_write ( syslog_provider_t *handle, int level, const char *message )syslog へ UTF-8 メッセージを書き込む。
@par 長さ制限
RFC 5424 ではメッセージ全体 (ヘッダー + 構造化データ + MSG) の
推奨最大長は **2,048 バイト**です。多くの syslog 実装
(rsyslog, syslog-ng 等) はこれより大きなメッセージも受け付けますが、
中継経路上のリレーやコレクタが切り詰める可能性があります。\n
本関数は内部で @c syslog() を呼び出しており、glibc 実装では
メッセージ長に明示的な上限はありません (動的にバッファを確保します)。
ただし、ネットワーク転送時は UDP の場合 **65,535 バイト**
(IP ペイロード上限) を超えるメッセージは送信できません。\n
相互運用性を重視する場合は **1,024 バイト**以下
(RFC 3164 の従来上限) を目安にしてください。本関数側での切り詰めは
行わないため、呼び出し元で長大なメッセージを分割するか、
上限内に収まることを保証してください。
成功 0 / 失敗 -1。
void TRACE_SYSLOG_UTIL_API syslog_provider_dispose ( syslog_provider_t *handle )syslog プロバイダを終了する。
closelog を呼び出し、リソースを解放します。
ハンドルが NULL の場合は何もしません。
int TRACE_SYSLOG_UTIL_API syslog_provider_rename ( syslog_provider_t *handle, const char *new_ident )syslog プロバイダの識別子を変更する。
closelog を呼び出した後、新しい識別子で openlog を 再度呼び出します。ハンドル自体は再利用されます。
成功 0 / 失敗 -1。
struct syslog_provider {
char *ident;
}syslog プロバイダハンドル構造体 (内部定義)。
char *ident;openlog に渡した識別子文字列 (複製を保持)。