XuqmGroup-AndroidSDK/sdk-log
XuqmGroup 4a18d06c63 docs: 添加 CLAUDE.md + 各 module README + sdk-webview JSBridge 补全
Agent 7 + Agent 8:
- CLAUDE.md 项目上下文
- 各 module README (core/im/push/update/webview/log)
- XWebViewStandardHandlers.kt 补全标准 JSBridge handler
2026-06-16 12:14:54 +08:00
..
src/main feat: sdk-log v1.0.0 新建 + sdk-core logApiUrl 扩展 + sdk-update 进度回调 2026-06-16 12:10:58 +08:00
build.gradle.kts docs: 添加 CLAUDE.md + 各 module README + sdk-webview JSBridge 补全 2026-06-16 12:14:54 +08:00
README.md docs: 添加 CLAUDE.md + 各 module README + sdk-webview JSBridge 补全 2026-06-16 12:14:54 +08:00

sdk-log

XuqmGroup Android SDK 日志模块。提供日志采集、Crash 捕获、漏斗分析能力。

依赖

implementation("com.xuqm:sdk-log:VERSION")
implementation("com.xuqm:sdk-core:VERSION")  // 必须

快速开始

// Application.onCreate() 中XuqmSDK.initialize 之后):
XLog.setLogLevel(LogLevel.INFO)
XLog.setEnvironment("production")
XLog.startCrashCapture()

// 业务代码中
XLog.event("page_view", mapOf("page" to "home"))
XLog.captureError(exception)

API

XLog 对象

API 说明
XLog.setLogLevel(level) 设置日志级别(DEBUG / INFO / WARN / ERROR
XLog.setEnvironment(env) 设置环境标签
XLog.startCrashCapture() 开启全局 UncaughtExceptionHandler
XLog.event(name, properties?) 记录自定义事件
XLog.captureError(error, metadata?) 上报异常
XLog.warn(message, metadata?) 记录警告
XLog.info(message, metadata?) 记录信息
XLog.defineFunnel(id, steps) 定义漏斗

LogLevel

enum class LogLevel { DEBUG, INFO, WARN, ERROR, NONE }

工作原理

  • LogQueue:事件进入内存队列,按批次异步上传到 logApiUrl
  • CrashCapture:注册 Thread.UncaughtExceptionHandler,捕获 Native Crash 并写入文件,下次启动时上传
  • Fingerprint:为错误生成指纹(基于 message + stack,服务端去重聚合
  • FunnelTracker:客户端维护漏斗进度,服务端跨 session 聚合

配置

logApiUrllogEnabledsdk-core 在 init 后从平台配置自动获取,无需 App 传入。