Logging インターフェース

Epic Online Services SDK からのログ メッセージを受信するためのインターフェースです。

Logging インターフェース を使用すると、開発者は開発中および製品出荷後の両方において技術的な問題を診断の実施に役立つ Epic Online Services (EOS) SDK から便利な出力にアクセスすることができます。EOS SDK の他のインターフェースとは異なり、Logging インターフェースはリモート マシンと通信せず、ハンドルを必要としません。

ログ データを受信する

EOS SDK からログ出力を受け取るには、コールバック関数 (EOS_LogMessageFunc`タイプ) を EOS_Logging_SetCallback 関数に渡して登録します。別のインターフェースがログ出力を生成するたびに、関数は関連するデータを含む EOS_LogMessage` データ構造を受け取ります。EOS はこのデータのメモリを管理し、コールバック関数の終了後はいつでも削除することができます。コールバック関数の存続期間を超えて保持したい情報のコピーを独自に作成する必要があります。

ログデータをフィルタリングする

Logging インターフェースは、すばやく簡単に必要な情報に集中しやすくするためのフィルタリングシステムが組み込まれています。EOS によって生成されるすべてのログには、それらを作成したサブシステムまたはインターフェースを示すカテゴリと、ログの全体的な重要性を示す「冗長性」レベルがあります。任意のカテゴリまたはすべてのカテゴリのメッセージをフィルタリングして、特定の冗長性レベル以下のメッセージのみがコールバック関数をトリガーすることができます。そのためには、カテゴリ (EOS_ELogCategory) および冗長性レベル (EOS_ELogLevel) を使用して `EOS_Logging_SetCallback`呼び出します。すべてのカテゴリのレベルを一度に設定したり、1 つ以上のカテゴリを完全に除外したりすることもできます。次のコード スニペットは一部の例になります。

// Set all categories to Warning level; ignore anything that isn't at least as important as a Warning.
EOS_Logging_SetLogLevel(EOS_LC_ALL_CATEGORIES, EOS_LOG_Warning);

// For the Friends Interface, restrict it a little more; we only want things that are at or above Error level, no Warnings.
EOS_Logging_SetLogLevel(EOS_LC_Friends, EOS_LOG_Error);

// Report everything from the Ecom Interface. This might be something we're currently debugging, so we want all the log information we can get.
EOS_Logging_SetLogLevel(EOS_LC_Ecom, EOS_LOG_VeryVerbose);

// We don't want log output from the Lobby Interface, so turn it off completely.
EOS_Logging_SetLogLevel(EOS_LC_Lobby, EOS_LOG_Off);

デフォルトでは、すべてのカテゴリがすべてのログデータをコールバック関数に報告します。