コンテンツにスキップ

ミニアプリログ収集


ミニアプリは、異なるレベルのログデータ(対応する source:browser_log メトリクスタイプのログデータ)を能動的に Guance に送信します。

機能

  • カスタムログデータ収集:SDK を介してクライアントアプリケーションに統合し、異なるユースケースに応じて異なるログデータを収集します。
  • アプリケーション側のエラー情報(ネットワークエラー、console エラー、JS エラーを含む)を自動収集し、DataFlux に報告します。
  • カスタムエラーレベル(debugcriticalerrorinfowarn)、カスタム Logger オブジェクト、カスタム Log フィールド。
  • RUM 関連データを自動収集し、RUM のビジネスユースケースに関連付けます(rum SDK を最新バージョンに更新する必要があります)。

使用開始

前提条件

  • SDK の導入NPM または CDN を使用して SDK をアプリケーションに導入できます。初期化後、グローバル変数に格納して、他のページから参照できるようにします。
  • 対応するミニアプリクライアント:WeChat、Baidu、Alipay、Toutiao など、ほとんどのミニアプリ。

連携方法

  1. DataKit がインストールされ、パブリックネットワークからアクセス可能に設定され、IP 地理情報データベースがインストールされていることを確認します。
  2. コンソールで applicationIdenvversion などのパラメータを取得し、アプリケーションの連携を開始します。
  3. SDK を統合する際は、datakitOrigin を DataKit のドメイン名または IP に設定します。

  1. コンソールで applicationIdclientTokensite などのパラメータを取得し、アプリケーションの連携を開始します。
  2. SDK 統合時に datakitOrigin を設定する必要はなく、データはデフォルトでパブリック DataWay に送信されます。

NPM 導入

//#ifndef H5 || APP-PLUS || APP-NVUE || APP-PLUS-NVUE
const { datafluxLogs } = require('@cloudcare/dataflux-rum-miniapp-logs')
// Rum を初期化
datafluxLogs.init({
  datakitOrigin: '<DATAKIT ORIGIN>'
  site: "http://172.16.212.186:9529", // パブリック DataWay 対応サイトのドメイン名
  clientToken: "a993f53a8ea04bc6b9350e5e670a3a3b", // パブリック DataWay への報告に必要なクライアントトークン
  service: 'minapp',
  env: 'prod',
  version: '1.0.0'
})
//#endif

CDN ダウンロードファイルをローカルに導入(ダウンロードアドレス

//#ifndef H5 || APP-PLUS || APP-NVUE || APP-PLUS-NVUE
const { datafluxLogs } = require('@cloudcare/dataflux-rum-miniapp-logs')
// Rum を初期化
datafluxLogs.init({
    datakitOrigin: '<DATAKIT ORIGIN>'
  service: 'miniapp',
  env: 'prod',
  version: '1.0.0'
})
//#endif

設定

初期化パラメータ

パラメータ 必須 デフォルト値 説明
datakitOrigin String はい DataKit データ報告 Origin の注釈: プロトコル(//を含む)、ドメイン名(またはIPアドレス)[およびポート番号]
例:https://www.datakit.com, http://100.20.34.3:8088
clientToken String はい openway 方式でデータを報告するためのトークン。Guanceコンソールから取得します。必須(パブリック openway 方式連携の場合)。
site String はい パブリック openway 方式でデータを報告するアドレス。Guanceコンソールから取得します。必須(パブリック openway 方式連携の場合)。
service String いいえ browser ログの Service 名
env String いいえ Web アプリケーションの現在の環境。例:Prod:本番環境;Gray:カナリア環境;Pre:ステージング環境;Common:日常環境;Local:ローカル環境。
version String いいえ Web アプリケーションのバージョン番号
sampleRate Number いいえ 100 メトリクスデータ収集の割合(パーセント): 100 はすべて収集、0 は収集しない。
forwardErrorsToLogs Boolean いいえ true false に設定すると、console.error、JS、およびネットワークエラーの DataFlux ログデータへの収集を停止します。

使用

SDK をアプリケーションで初期化した後、公開されている SDK API を使用してログデータをカスタム設定できます。

logger.debug | info | warn | error | critical (message: string, messageContext = Context)

NPM

import { datafluxLogs } from "@cloudcare/dataflux-rum-miniapp-logs"

datafluxLogs.logger.info("Button clicked", { name: "buttonName", id: 123 })

戻り値のデータ構造

{
  "service": "miniapp",
  "session": {
    "id": "c549c2b8-4955-4f74-b7f8-a5f42fc6e79b"
  },
  "type": "logger",
  "_dd": {
    "sdk_name": "miniapp LOG SDK",
    "sdk_version": "1.0.0",
    "env": "",
    "version": ""
  },
  "device": {
    "platform_version": "8.0.5",
    "model": "iPhone 6/7/8 Plus",
    "app_framework_version": "2.23.3",
    "os": "OS",
    "os_version": "10.14.6",
    "os_version_major": "10",
    "screen_size": "414*736",
    "network_type": "3g",
    "divice": "devtools"
  },
  "user": {},
  "date": 1621321916756,
  "view": {
    "referrer": "",
    "name": "pages/index/index",
    "id": "5dce64f4-8d6d-411a-af84-c41653ccd94a"
  },
  "application": {
    "id": "app_idxxxxxx"
  },
  "message": "XHR error get http://testing-ft2x-api.cloudcare.cn/api/v1/workspace/xxx",
  "status": "error",
  "error": {
    "source": "network",
    "stack": "Failed to load"
  },
  "resource": {
    "method": "get",
    "status": 0,
    "status_group": 0,
    "url": "http://testing-ft2x-api.cloudcare.cn/api/v1/workspace/xxx",
    "url_host": "testing-ft2x-api.cloudcare.cn",
    "url_path": "/api/v1/workspace/xxx",
    "url_path_group": "/api/?/workspace/xxx"
  }
}

Status パラメータ

SDK を初期化した後、提供される log API を使用して、異なるタイプのステータスを定義できます。

log (message: string, messageContext: Context, status? = 'debug' | 'info' | 'warning' | 'error' | 'critical')

使用

import { datafluxLogs } from '@cloudcare/dataflux-rum-miniapp-logs'

datafluxLogs.logger.log(<MESSAGE>,<JSON_ATTRIBUTES>,<STATUS>);

パラメータ説明

パラメータ 説明
<MESSAGE> Dataflux ログの Message フィールド。
<JSON_ATTRIBUTES> Message を説明する追加データ。JSON オブジェクト。
<STATUS> ログのレベル。選択可能な値:debuginfowarningerrorcritical

フィードバック

このページは役に立ちましたか?