# mp-log-client **Repository Path**: cbscode/mp-log-client ## Basic Information - **Project Name**: mp-log-client - **Description**: 微信小程序日志客户端 - 拦截小程序日志并推送到远程服务器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-22 - **Last Updated**: 2026-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mp-log-client 微信小程序日志客户端 - 拦截小程序日志并推送到远程服务器 ## 功能特性 - ✅ 拦截 console 日志(log/info/warn/error) - ✅ 拦截网络请求(wx.request) - ✅ 拦截 JavaScript 错误(App.onError) - ✅ 拦截 Promise 拒绝(App.onUnhandledRejection) - ✅ WebSocket 实时推送 - ✅ 离线缓存与重连 - ✅ 敏感字段过滤 - ✅ 限流与批量发送 - ✅ 支持 uni-app 和原生小程序 ## 安装 ```bash npm install mp-log-client ``` ## 快速开始 ### uni-app 项目 ```javascript // main.js import LogClient from 'mp-log-client'; const logClient = new LogClient({ serverUrl: 'ws://localhost:9527', appId: 'your-app-id', env: 'development' }); logClient.start(); ``` ### 原生小程序 ```javascript // app.js const LogClient = require('mp-log-client'); App({ onLaunch() { const logClient = new LogClient({ serverUrl: 'ws://localhost:9527', appId: 'your-app-id', env: 'development' }); logClient.start(); } }); ``` ## 配置选项 | 选项 | 类型 | 必填 | 默认值 | 说明 | |------|------|------|--------|------| | serverUrl | String | 是 | - | WebSocket 服务器地址 | | appId | String | 是 | - | 小程序 AppID | | env | String | 否 | 'production' | 环境标识 | | enableConsole | Boolean | 否 | true | 是否拦截 console | | enableRequest | Boolean | 否 | true | 是否拦截网络请求 | | enableError | Boolean | 否 | true | 是否拦截错误 | | sensitiveFields | Array | 否 | [] | 敏感字段列表 | | maxLogs | Number | 否 | 100 | 离线缓存最大数量 | | throttle | Number | 否 | 1000 | 限流时间(毫秒) | ## API 文档 ### LogClient #### constructor(options) 创建 LogClient 实例。 ```javascript const logClient = new LogClient({ serverUrl: 'ws://localhost:9527', appId: 'your-app-id' }); ``` #### start() 启动日志拦截和 WebSocket 连接。 ```javascript logClient.start(); ``` #### stop() 停止日志拦截和 WebSocket 连接。 ```javascript logClient.stop(); ``` #### sendLog(type, data) 手动发送日志。 ```javascript logClient.sendLog('custom', { message: 'Custom log' }); ``` ## 开发 ### 安装依赖 ```bash npm install ``` ### 运行测试 ```bash npm test ``` ### 构建 ```bash npm run build ``` ## 许可证 MIT