|
Document of c-modernization-kit (util) 1.0.0
|
syslog ヘルパーライブラリ。 More...
Go to the source code of this file.
Macros | |
| #define | TRACE_SYSLOG_UTIL_EXPORT |
| DLL エクスポート/インポート制御マクロ。 | |
| #define | TRACE_SYSLOG_UTIL_API |
| 呼び出し規約マクロ。 | |
Typedefs | |
| typedef struct syslog_provider | syslog_provider_t |
| syslog プロバイダハンドル (不透明型)。 | |
Functions | |
| TRACE_SYSLOG_UTIL_EXPORT syslog_provider_t *TRACE_SYSLOG_UTIL_API | syslog_provider_init (const char *ident, int facility) |
| syslog プロバイダを初期化する。 | |
| TRACE_SYSLOG_UTIL_EXPORT int TRACE_SYSLOG_UTIL_API | syslog_provider_write (syslog_provider_t *handle, int level, const char *message) |
| syslog へ UTF-8 メッセージを書き込む。 | |
| TRACE_SYSLOG_UTIL_EXPORT int TRACE_SYSLOG_UTIL_API | syslog_provider_rename (syslog_provider_t *handle, const char *new_ident) |
| syslog プロバイダの識別子を変更する。 | |
| TRACE_SYSLOG_UTIL_EXPORT void TRACE_SYSLOG_UTIL_API | syslog_provider_dispose (syslog_provider_t *handle) |
| syslog プロバイダを終了する。 | |
syslog ヘルパーライブラリ。
Linux syslog (RFC5424 系実装) のラッパー関数群を提供します。
Linux 専用ライブラリです。呼び出し元は #ifndef _WIN32 の 中でのみ使用してください。
Definition in file trace-syslog-util.h.
| #define TRACE_SYSLOG_UTIL_EXPORT |
| #define TRACE_SYSLOG_UTIL_API |
| typedef struct syslog_provider syslog_provider_t |
syslog プロバイダハンドル (不透明型)。
Definition at line 42 of file trace-syslog-util.h.
| TRACE_SYSLOG_UTIL_EXPORT syslog_provider_t *TRACE_SYSLOG_UTIL_API syslog_provider_init | ( | const char * | ident, |
| int | facility ) |
syslog プロバイダを初期化する。
openlog を呼び出し、指定された識別子と facility で syslog 接続を開きます。
| [in] | ident | syslog メッセージに付与される識別子文字列。 NULL の場合は何もせず NULL を返します。 |
| [in] | facility | syslog facility 値 (例: LOG_USER, LOG_LOCAL0〜LOG_LOCAL7)。 |
Definition at line 18 of file syslog-provider.c.
References syslog_provider::ident.
Referenced by trace_init().
| TRACE_SYSLOG_UTIL_EXPORT int TRACE_SYSLOG_UTIL_API syslog_provider_write | ( | syslog_provider_t * | handle, |
| int | level, | ||
| const char * | message ) |
syslog へ UTF-8 メッセージを書き込む。
| [in] | handle | syslog_provider_init の戻り値。 NULL の場合は何もせず 0 を返します。 |
| [in] | level | syslog severity 値。 LOG_CRIT / LOG_ERR / LOG_WARNING / LOG_INFO / LOG_DEBUG |
| [in] | message | null 終端 UTF-8 文字列。NULL の場合は何もせず 0 を返します。 @par 長さ制限
RFC 5424 ではメッセージ全体 (ヘッダー + 構造化データ + MSG) の
推奨最大長は **2,048 バイト**です。多くの syslog 実装
(rsyslog, syslog-ng 等) はこれより大きなメッセージも受け付けますが、
中継経路上のリレーやコレクタが切り詰める可能性があります。\n
本関数は内部で @c syslog() を呼び出しており、glibc 実装では
メッセージ長に明示的な上限はありません (動的にバッファを確保します)。
ただし、ネットワーク転送時は UDP の場合 **65,535 バイト**
(IP ペイロード上限) を超えるメッセージは送信できません。\n
相互運用性を重視する場合は **1,024 バイト**以下
(RFC 3164 の従来上限) を目安にしてください。本関数側での切り詰めは
行わないため、呼び出し元で長大なメッセージを分割するか、
上限内に収まることを保証してください。
|
Definition at line 50 of file syslog-provider.c.
Referenced by write_to_provider().
| TRACE_SYSLOG_UTIL_EXPORT int TRACE_SYSLOG_UTIL_API syslog_provider_rename | ( | syslog_provider_t * | handle, |
| const char * | new_ident ) |
syslog プロバイダの識別子を変更する。
closelog を呼び出した後、新しい識別子で openlog を 再度呼び出します。ハンドル自体は再利用されます。
| [in] | handle | syslog_provider_init の戻り値。 NULL の場合は何もせず -1 を返します。 |
| [in] | new_ident | 新しい識別子文字列。 NULL の場合は何もせず -1 を返します。 |
Definition at line 76 of file syslog-provider.c.
References syslog_provider::ident.
Referenced by trace_modify_name().
| TRACE_SYSLOG_UTIL_EXPORT void TRACE_SYSLOG_UTIL_API syslog_provider_dispose | ( | syslog_provider_t * | handle | ) |
syslog プロバイダを終了する。
closelog を呼び出し、リソースを解放します。
ハンドルが NULL の場合は何もしません。
| [in] | handle | syslog_provider_init の戻り値。 |
Definition at line 63 of file syslog-provider.c.
References syslog_provider::ident.
Referenced by trace_dispose(), and trace_init().