Document of c-modernization-kit (util) 1.0.0

Loading...
Searching...
No Matches
Macros | Typedefs | Functions
trace-syslog-util.h File Reference

syslog ヘルパーライブラリ。 More...

This graph shows which files directly or indirectly include this file:

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 プロバイダを終了する。

## Detailed Description

syslog ヘルパーライブラリ。

Linux syslog (RFC5424 系実装) のラッパー関数群を提供します。
Linux 専用ライブラリです。呼び出し元は `#ifndef` `_WIN32` の 中でのみ使用してください。

Definition in file trace-syslog-util.h.

## Macro Definition Documentation

## ◆ TRACE_SYSLOG_UTIL_EXPORT

#define TRACE_SYSLOG_UTIL_EXPORT

DLL エクスポート/インポート制御マクロ。

Linux 環境では常に空に展開されます。

Definition at line 23 of file trace-syslog-util.h.

## ◆ TRACE_SYSLOG_UTIL_API

#define TRACE_SYSLOG_UTIL_API

呼び出し規約マクロ。

Linux 環境では常に空に展開されます。

Definition at line 30 of file trace-syslog-util.h.

## Typedef Documentation

## ◆ syslog_provider_t

typedef struct syslog_provider syslog_provider_t

syslog プロバイダハンドル (不透明型)。

Definition at line 42 of file trace-syslog-util.h.

## Function Documentation

## ◆ syslog_provider_init()

TRACE_SYSLOG_UTIL_EXPORT syslog_provider_t *TRACE_SYSLOG_UTIL_API syslog_provider_init | ( | const char * | ident,
|  | int | facility )

syslog プロバイダを初期化する。

openlog を呼び出し、指定された識別子と facility で syslog 接続を開きます。

Parameters

  [in] | ident | syslog メッセージに付与される識別子文字列。 NULL の場合は何もせず NULL を返します。
  [in] | facility | syslog facility 値 (例: LOG_USER, LOG_LOCAL0〜LOG_LOCAL7)。

Returns
  成功時: ハンドル。失敗時: NULL。

使用例
  #include <syslog.h>
  #include <trace-syslog-util.h>
  syslog_provider_t *h = syslog_provider_init("myapp", LOG_USER);
  trace-syslog-util.h
  syslog ヘルパーライブラリ。
  syslog_provider_t
  struct syslog_provider syslog_provider_t
  syslog プロバイダハンドル (不透明型)。
  Definition trace-syslog-util.h:42
  syslog_provider_init
  TRACE_SYSLOG_UTIL_EXPORT syslog_provider_t *TRACE_SYSLOG_UTIL_API syslog_provider_init(const char *ident, int facility)
  syslog プロバイダを初期化する。
  Definition syslog-provider.c:18

Definition at line 18 of file syslog-provider.c.

References syslog_provider::ident.

Referenced by trace_init().

Here is the caller graph for this function:

## ◆ syslog_provider_write()

TRACE_SYSLOG_UTIL_EXPORT int TRACE_SYSLOG_UTIL_API syslog_provider_write | ( | syslog_provider_t * | handle,
|  | int | level,
|  | const char * | message )

syslog へ UTF-8 メッセージを書き込む。

Parameters

  [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 の従来上限) を目安にしてください。本関数側での切り詰めは
                           行わないため、呼び出し元で長大なメッセージを分割するか、
                           上限内に収まることを保証してください。

Returns
  成功 0 / 失敗 -1。

Definition at line 50 of file syslog-provider.c.

Referenced by write_to_provider().

Here is the caller graph for this function:

## ◆ syslog_provider_rename()

TRACE_SYSLOG_UTIL_EXPORT int TRACE_SYSLOG_UTIL_API syslog_provider_rename | ( | syslog_provider_t * | handle,
|  | const char * | new_ident )

syslog プロバイダの識別子を変更する。

closelog を呼び出した後、新しい識別子で openlog を 再度呼び出します。ハンドル自体は再利用されます。

Parameters

  [in] | handle | syslog_provider_init の戻り値。 NULL の場合は何もせず -1 を返します。
  [in] | new_ident | 新しい識別子文字列。 NULL の場合は何もせず -1 を返します。

Returns
  成功 0 / 失敗 -1。

Definition at line 76 of file syslog-provider.c.

References syslog_provider::ident.

Referenced by trace_modify_name().

Here is the caller graph for this function:

## ◆ syslog_provider_dispose()

TRACE_SYSLOG_UTIL_EXPORT void TRACE_SYSLOG_UTIL_API syslog_provider_dispose | ( | syslog_provider_t * | handle | ) |

syslog プロバイダを終了する。

closelog を呼び出し、リソースを解放します。
ハンドルが NULL の場合は何もしません。

Parameters

  [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().

Here is the caller graph for this function: