- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Datadog の flutter プラグインを使用すると、Flutter アプリケーションから Datadog へログを送信すると共に、次の機能を利用できます。
Datadog Flutter SDK for Logs を初期化するには、セットアップを参照してください。
Datadog Flutter SDK を LoggingConfiguration
パラメーターで初期化したら、DatadogLogger
を作成して、Datadog にログを送信できます。
final logConfiguration = DatadogLoggerConfiguration(
remoteLogThreshold: LogLevel.debug,
networkInfoEnabled: true,
);
final logger = DatadogSdk.instance.logs?.createLogger(logConfiguration);
logger?.debug("A debug message.");
logger?.info("Some relevant information?");
logger?.warn("An important warning...");
logger?.error("An error was met!");
createLogger
メソッドを使用して、異なるサービスや名前を持つ追加のロガーを作成することも可能です。
final myLogger = DatadogSdk.instance.logs?.createLogger(
DatadogLoggerConfiguration(
service: 'com.example.custom_service',
name: 'Additional logger'
)
);
myLogger?.info('Info from my additional logger.');
利用可能なロギングオプションの詳細については、DatadogLoggerConfiguration クラスのドキュメントを参照してください。
ロガーに設定されたタグは、各ロガーにローカルです。
DatadogLogger.addTag
メソッドを使い、指定されたロガーから送信されるすべてのログにタグを追加します。
// これにより、"build_configuration:debug" タグが追加されます
logger.addTag("build_configuration", "debug")
DatadogLogger.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
には StandardMessageCodec
クラスでサポートされているほとんどのタイプを指定することができます。
DatadogLogger.removeAttribute
メソッドを使い、指定されたロガーから送信されるすべてのログからカスタム属性を削除します。
// これにより、"user-status" 属性は今後送信されるすべてのログから削除されます。
logger.removeAttribute("user-status")
デフォルトでは、デバッグ用ビルドの場合、DatadogLogger
はすべてのログを以下の形式で Flutter コンソールに出力します。
[{level}] message
これは、 DatadogLoggerConfiguration.customConsoleLogFunction
を設定することでカスタマイズ可能です。一定のレベル以下のログをフィルタリングするには、これを simpleConsolePrintForLevel
に設定します。
final config = DatadogLoggerConfiguration(
// その他の構成オプション...
customConsoleLogFunction: simpleConsolePrintForLevel(LogLevel.warn),
);
また、カスタム関数を提供することで、Datadog ログを logger などの他のログパッケージに転送することもできます。
var Logger logger;
void customDatadogLog(LogLevel level,
String message,
String? errorMessage,
String? errorKind,
StackTrace? stackTrace,
Map<String, Object?> attributes,) {
// Logger とレベルマッピング用のカスタム関数があると仮定:
logger.log(mapLogLevels(level), message, error: errorKind, stackTrace: stackTrace);
}
final datadogLogger = DatadogSdk.instance.logs?.createLogger(
DatadogLoggerConfiguration(
// その他の構成オプション...
customConsoleLogFunction: simpleConsolePrintForLevel(LogLevel.warn),
);
);
お役に立つドキュメント、リンクや記事: