# porter/libsrc/porter/infra/potrLog.h

# 1 ファイル

## 1.1 porter/libsrc/porter/infra/potrLog.h

porter 内部ログマクロ定義ヘッダー。

porter ライブラリ内部でのみ使用するログ出力マクロを定義します。
ライブラリ外部には公開しません。
公開 API は porter.h の potrLogConfig() を参照してください。

使用方法:

    POTR_LOG(POTR_TRACE_INFO,  "service_id=%" PRId64 " opened", service_id);
    POTR_LOG(POTR_TRACE_ERROR, "socket bind failed: port=%u", port);
    POTR_LOG(POTR_TRACE_VERBOSE, "PING sent: seq=%u", seq);

### 1.1.1 作者

c-modernization-kit sample team

### 1.1.2 バージョン

1.0.0

### 1.1.3 日付

2026/03/09

### 1.1.4 著作権

Copyright (C) CompanyName, Ltd. 2026. All rights reserved.

# 2 関数

## 2.1 potr_log_write

    void potr_log_write ( PotrLogLevel level, const char *file, int line, const char *fmt, ... )

ログメッセージを書き込みます (内部関数)。

g_log_level より低いレベルのメッセージは無視されます (高速パス)。
本関数を直接呼び出さず、POTR_LOG マクロを使用してください。

### 2.1.1 引数

- level [in] ログレベル。
- file [in] ソースファイル名 (__FILE__)。
- line [in] 行番号 (__LINE__)。
- fmt [in] printf 形式のフォーマット文字列。
- … [in] フォーマット引数。

# 3 定数、マクロ

## 3.1 POTR_LOG

    #define POTR_LOG ( level, ... )
        potr_log_write((level), __FILE__, __LINE__, __VA_ARGS__)

porter 内部ログ出力マクロ。

__FILE__ と __LINE__ を自動付加して potr_log_write() を呼び出します。
設定レベルより低いメッセージは potr_log_write() 冒頭で早期リターンします。

### 3.1.1 例

    POTR_LOG(POTR_TRACE_INFO,  "potrOpenService: service_id=%" PRId64 "", service_id);
    POTR_LOG(POTR_TRACE_WARNING,  "NACK received: seq=%u", seq);
    POTR_LOG(POTR_TRACE_ERROR, "socket() failed");