Skip to Content
中心となる概念診断とバグレポート

診断、ログ、バグレポート

すべての Tracelet アプリは、SDK がデバイス上で行っていること (権限、権限など) を記録します。 追跡状態、センサーの可用性、ローリング ログ。の tracelet_doctor パッケージは、そのすべてを ワンタップの診断画面コピーアンドペーストのバグレポートがあるため、 何かが間違っているようです。あなた (またはユーザー) は、何が起こったのかを正確に把握できます。

3.3.0 の新機能: Doctor の コピー ボタンに すべて がバンドルされるようになりました (ヘルス + 構成 + ログ + テレマティクス) を単一の Markdown レポートにまとめ、 新しい 共有 ボタンを使用すると、.md ファイルとしてダウンロードしたり電子メールで送信したりできます。もあります ログ ビューアの ログをコピー ボタン。


30秒バージョン

tracelet_doctordev 依存関係 (通常のものではありません) として追加します - これはデバッグです Flutter はリリース ビルドから開発依存パッケージを除外します。

flutter pub add dev:tracelet_doctor

次に、kDebugMode の背後で使用を保護して、リリース ビルドからツリーシェイキングされるようにします。

import 'package:flutter/foundation.dart' show kDebugMode; import 'package:tracelet_doctor/tracelet_doctor.dart'; // Open the diagnostic screen from a debug menu, button, or shake gesture: if (kDebugMode) { TraceletDoctor.show(context); }

これにより、次のようなシートが開きます。

  • 警告 - 追跡に悪影響を与える可能性のあるもの (許可の拒否、省電力) モード、積極的な OEM、重要なモーション センサーなし、模擬ロケーション…)。
  • 権限、追跡状態、バッテリーと OEM、構成、センサー、データベース。
  • ログの表示 ボタン (最後の 500 ログ行)。
  • 右上の バグ レポートをコピー および バグ レポートを共有 ボタン。

バグレポートの提出 (ユーザー向け)

ユーザーが問題を報告した場合、最も早い解決方法は、Tracelet を取得することです。 バグレポート。彼らに次のように伝えてください。

  1. Tracelet Doctor 画面を開きます (アプリ内のどこに配置しても)。
  2. 右上にある 共有 アイコン (↗) または コピー (⧉) - をタップします。
  3. これをサポート チャネルまたは GitHub の問題に 貼り付け/添付します。 独自のアプリ ログ* を使用してください。

レポートは単純な Markdown であり、次のようになります。

# Tracelet Bug Report _Generated by Tracelet Doctor at 2026-06-14T10:22:31Z (UTC)._ ## Health check | Field | Value | |---|---| | Platform | android | | OS version | 14 | | Manufacturer | Xiaomi | | Aggressive OEM | true (rating 5/5) | | Location permission | always | | Power save mode | true | ... **Warnings (2):** - ⚠️ Power Save mode is ON — may throttle background tracking - ⚠️ Device manufacturer may kill background apps ## Active configuration ```json { "地理": { "距離フィルター": 10.0, ... }, "http": { "url": "«編集済み»", "ヘッダー": "«編集済み»", ... } } ``` ## Telematics events (most recent) | Type | Severity | Lat | Lng | Time | Synced | ... ## Logs (last 500) 2026-06-14T10:21:55Z [INFO] Tracking started (mode: location) 2026-06-14T10:22:03Z [WARN] Location accuracy degraded ...

シークレットは自動的に編集されます。 設定が レポート、キーが URL、ヘッダー、パラメータ、キー、トークン、または 証明書は «redacted» に置き換えられます。同期 URL、API キー、認証 ヘッダーが貼り付けられたレポートに含まれることはありません。 (その他すべて - 距離フィルター、 精度、機能の切り替え - デバッグに役立つため、保持されます。)


ログを直接操作する

Doctor は、API からアクセスできるのと同じログを読み取ります。こんな場合に便利です 独自の診断画面を構築するか、バックエンドにログを送信したい。

// Read the most recent log entries. final logs = await Tracelet.getLogs(500); for (final entry in logs) { print('${entry.timestamp} [${entry.level}] ${entry.message}'); } // Wipe stored logs (e.g. after the user files a report). await Tracelet.clearLogs();

LogEntry には idlevel (DEBUG/INFO/WARN/ERROR)、message、 ISO-8601 timestamp。ログはデバイス上の SQLite データベースに保存されるため、 アプリの再起動後も存続し、バックグラウンド アクティビティをキャプチャします。まさに 他の方法ではデバッガーで確認できないイベント。

ログに記録される量は、LoggerConfig (ログ レベル) によって制御されます。より低い 本番環境ではデータベースを小さく保つためのレベル。 debug まで上げながら、 問題を再現しています。


独自のレポートを作成する

レポートを自分で生成したい場合 (例: 独自のクラッシュに添付する) レポーター、またはアプリのバージョンを追加)、ビルダーを直接呼び出します。

import 'package:tracelet_doctor/tracelet_doctor.dart'; final report = await TraceletBugReport.build( appName: 'My App', appVersion: '2.4.1', // e.g. from package_info_plus logLimit: 500, telematicsLimit: 100, ); // Now copy, share, upload, or attach `report` however you like.

任意の構成マップで secret-redaction ヘルパーのみを再利用することもできます。これは便利です 独自の設定をログに記録する場合:

final safe = TraceletBugReport.redactConfig(Tracelet.activeConfig.toMap());

レポートの内容 (チートシート)

セクション出典なぜ役立つのか
健康診断非トランスレート権限、OEM/バッテリー、センサー、デバイス — よくある容疑者
警告計算された「追跡がバックグラウンドで停止する」可能性のある 原因
アクティブな構成Tracelet.activeConfig (編集済み)適用された remote config (3.6.10+) を含む、実際に有効な設定を確認します。
テレマティクスイベント非トランスレート最近の運転/衝撃イベント (3.3.0)
ログ非トランスレートバックグラウンドを含む SDK の動作のタイムライン

知っておいてよかった

  • プライバシーを第一に — レポートは 完全にデバイス上で生成されます。何もない あなたが送信しない限り、アップロードされます。シークレットは組み込まれる前に編集されます。
  • 初期化されていない場合でも機能します — Tracelet がまだ開始されていない場合、Doctor クラッシュする代わりにフレンドリーな「初期化されていません」画面が表示され、各レポートが表示されます。 セクションは正常に劣化します。
  • デバッグ ビルドで出荷 — 多くのチームは TraceletDoctor.show(context) を QA とサポートがレポートを取得できるように、シェイク ジェスチャーまたは非表示のデバッグ メニューを使用します。 秒。
Last updated on