Datadog の Unity Package を使用して Unity アプリケーションから Datadog にログを送信し、次の機能を活用できます:
- Datadog に JSON 形式でネイティブに記録する。
- デフォルトを使用し、送信される各ログにカスタム属性を追加する。
- 実際のクライアント IP アドレスとユーザーエージェントを記録する。
- 自動一括ポストによって最適化されたネットワークの利用を活用します。
セットアップ
Logs 用の Datadog Unity SDK を初期化するには、セットアップ を参照してください。
Datadog Unity SDK のセットアップが完了したら、SDK の DefaultLogger を使用してログを Datadog に送信できます。
var logger = DatadogSdk.Instance.DefaultLogger;
logger.Debug("A debug message.");
logger.Info("Some relevant information?");
logger.Warn("An important warning...");
logger.Error("An error was met!");
“Forward Unity Logs” オプションを有効にすると、Unity の Debug.Log* メソッドを使用して Unity に送信されたログは、自動的に DatadogSdk.Instance.DefaultLogger に送信されます。
CreateLogger メソッドを使用して、サービスや名前の異なる追加のロガーを作成することもできます。
var loggingOptions = new DatadogLoggingOptions()
{
Service = "com.example.custom_service",
Name = "Additional logger",
};
var logger = DatadogSdk.Instance.CreateLogger(loggingOptions);
logger.Info('Info from my additional logger.');
タグの管理
ロガーに設定されたタグは、各ロガーにローカルです。
タグを追加
特定のロガーが送信するすべてのログにタグを追加するには、DdLogger.AddTag メソッドを使用します:
// これは "build_configuration:debug" タグを追加します
logger.AddTag("build_configuration", "debug")
タグを削除
特定のロガーが送信するすべてのログからタグを削除するには、DdLogger.RemoveTag メソッドを使用します:
// これは "build_configuration" で始まるすべてのタグを削除します
logger.RemoveTag("build_configuration")
詳細は タグの概要 を参照してください。
属性の管理
ロガーに設定された属性は、各ロガーにローカルです。
デフォルト属性
デフォルトで、ロガーにより送信されるすべてのログに次の属性が追加されます。
http.useragent と抽出された device と OS プロパティnetwork.client.ip と抽出された地理的プロパティ (country, city)logger.version、Datadog SDK バージョンlogger.thread_name, (main, background)version、Info.plist または application.manifest のいずれかから抽出されたクライアントのアプリバージョンenvironment、SDK の初期化に使われる環境名
属性を追加
特定のロガーが送信するすべてのログにカスタム属性を追加するには、DatadogLogger.AddAttribute メソッドを使用します。
logger.AddAttribute("user-status", "unregistered")
この value は、JsonCovert.SerializeObject を使用してシリアライズ可能なほとんどの型を指定できます。
属性を削除
特定のロガーが送信するすべてのログからカスタム属性を削除するには、DdLogger.RemoveAttribute メソッドを使用します:
// これ以降に送信されるすべてのログから "user-status" 属性を削除します。
logger.RemoveAttribute("user-status")
参考資料