💡
FlutterでAzure Application Insigtsにログを記録してみた
Flutterでのログ記録はFirebaseが有名ですが、AzureのApplication Insigts(AppInsigts)でログを記録する機会があったのでその方法をまとめます。
Application Insigts
Azureでログを記録したり、ユーザーの行動を視覚化できるサービスです。
サービスの有効化
Azure Portalから「リソースの作成」->「insigts」で検索し、必要事項を入力して作成します。
Flutterでの利用方法
パッケージのインストール
サードパーティ製のライブラリAzure Application Insights
を用いると簡単に利用できます。
dependencies:
azure_application_insights: ^5.0.0
http: ^1.2.2 # ログをHTTP通信で送信するために必要
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には他にも便利な機能があるので試してみてください。
参考サイト
Discussion