💡

FlutterでAzure Application Insigtsにログを記録してみた

2024/12/19に公開

Flutterでのログ記録はFirebaseが有名ですが、AzureのApplication Insigts(AppInsigts)でログを記録する機会があったのでその方法をまとめます。

Application Insigts

Azureでログを記録したり、ユーザーの行動を視覚化できるサービスです。

https://learn.microsoft.com/ja-jp/azure/azure-monitor/app/app-insights-overview

サービスの有効化

Azure Portalから「リソースの作成」->「insigts」で検索し、必要事項を入力して作成します。

Flutterでの利用方法

パッケージのインストール

サードパーティ製のライブラリAzure Application Insightsを用いると簡単に利用できます。

dependencies:
  azure_application_insights: ^5.0.0
  http: ^1.2.2 # ログをHTTP通信で送信するために必要

https://pub.dev/packages/azure_application_insights

TelemetryClientの初期化

ログを記録するにはTelemetryClientを用います。必要な情報を設定して初期化します。

import 'package:azure_application_insights/azure_application_insights.dart';
import 'package:http/http.dart';

final client = Client();
final processor = BufferedProcessor(
  next: TransmissionProcessor(
    connectionString: '【AzureのAppInsigt上に表示された接続文字列】'
    httpClient: client,
    timeout: const Duration(seconds: 10),
  ),
);

final telemetryClient = TelemetryClient(
  processor: processor,
);

AppInsigtsの接続文字列は、Azure上で確認できます。

ログを記録する

実際にログを記録するには、TelemetryClient.trackEvent()を利用します。

// ログを記録する
telemetryClient.trackTrace(
  severity: Severity.information,
  message: 'Hello from Dart!',
);

ログを確認する

記録されたログはAzure上で確認できます。

AppInsigtsのヘッダーの「ログ」をクリック。

「テーブルを選択」をクリック。

「traces」をクリック

ログが表示されます。(数分のタイムラグがあります)

まとめ

FlutterからAzure AppInsigtsでログを記録する方法を解説しました。ライブラリを用いると簡単にログを記録できます。AppInsigtsには他にも便利な機能があるので試してみてください。

参考サイト

https://medium.com/bina-nusantara-it-division/how-to-integrate-flutter-app-with-azure-application-insights-447fcc3bdacf
https://pub.dev/packages/azure_application_insights/example

Discussion