tencent cloud

定制日志及事件上报

PDF
聚焦模式
字号
最后更新时间: 2025-07-04 17:33:32

定制日志输出实现

通过实现 LogProxy 代理,可以实现小程序 SDK 内部日志的打印控制。
示例代码:
@ProxyService(proxy = LogProxy.class) public class LogProxyImpl extends LogProxy { @Override public void log(int logLevel, String tag, String msg, Throwable t) { switch (logLevel) { case Log.DEBUG: if (t == null) { android.util.Log.d(tag, msg); } else { android.util.Log.d(tag, msg, t); } break; case Log.INFO: if (t == null) { android.util.Log.i(tag, msg); } else { android.util.Log.i(tag, msg, t); } break; case Log.WARN: if (t == null) { android.util.Log.w(tag, msg); } else { android.util.Log.w(tag, msg, t); } break; case Log.ERROR: if (t == null) { android.util.Log.e(tag, msg); } else { android.util.Log.e(tag, msg, t); } break; default: if (t == null) { android.util.Log.v(tag, msg); } else { android.util.Log.v(tag, msg, t); } break; } } @Override public boolean isColorLevel() { return true; }
}

定制事件上报

宿主 APP 可以通过实现 MiniAppProxy 的 reportMiniAppEvent 方法定制小程序事件上报,从而覆盖SDK 内部的上报逻辑。
说明:
包括小程序操作事件及小程序内部调用 wx.reportEvent 上报的数据。
API 如下:
/** * 小程序事件上报代理 * @param eId 事件ID * @param eventName 事件名字 * @param props 事件属性 * @param app 小程序信息 * @return 为true时,SDK内部上报逻辑不再执行,使用用户自定义的事件上报逻辑 */ public abstract boolean reportMiniAppEvent(int eId, String eventName, JSONObject props, MiniApp app);
内置事件 ID 描述如下:

/** 自定义事件*/

public static final int EID_None = 0;

/** 打开小程序 */

public static final int EID_OPEN_MINIAPP = 1;

/** 更新小程序*/

public static final int EID_UPDATE_MINIAPP = 2;

/** 下载小程序 */

public static final int EID_DOWNLOAD_MINIAPP = 3;

/** 小程序页面浏览 */

public static final int EID_MINIAPP_PAGE_VIEW = 4;

/** 退出小程序 */

public static final int EID_EXIT_MINIAPP = 5;

/** 小程序行为事件*/

public static final int EID_MINIAPP_ACTION = 6;

定制日志上报

实时日志上报

宿主 APP 可以通过实现 MiniAppProxy 的 reportRealTimeLog 方法定制小程序实时事件日志上报逻辑
说明:
包括小程序内部调用 wx.getRealtimeLogManager 写入的日志数据。
API 如下:
/** * 小程序实时日志上报代理 * @param page 当前页面 * @param jsLibVersion 基础库版本 * @param app 小程序信息 * @param filterMsgs 过滤关键字 * @param logs 日志 * @return 为true时,SDK内部上报逻辑不再执行 */ public abstract boolean reportRealTimeLog(String page, String jsLibVersion, MiniApp app, String[] filterMsgs, ArrayList<RealTimeLogItem> logs);

小程序内部日志上报

宿主 APP 可以通过实现 MiniAppProxy 的 uploadUserLog 方法定制小程序的投诉反馈页面收集到日志上传逻辑
说明:
包括小程序内部调用 wx.getLogManager 写入的日志数据,用户可以通过使用 button 组件的 open-type="feedback" 来上传打印的日志。
/** * feedback 日志上传 * * @param appId 小程序appId * @param logPath 日志路径 * @return 为true时,SDK内部上报逻辑不执行 */ public abstract boolean uploadUserLog(String appId, String logPath);


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈