更新记录
1.0.0(2026-06-12)
平台兼容性
uni-app(3.8.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| × | × | × | × | √ | √ | 5.0 | 12 | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.0)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | 5.0 | 12 | × | × |
MS-Xlog 高性能日志 - uni-app 本地日志插件
基于 Tencent Mars Xlog 的 uni-app UTS 插件,为 App 提供高性能、低损耗的本地日志能力。
✨ 特性
- 🚀 高性能:基于 MMAP 的异步写入,不影响主线程
- 📦 自动压缩:日志自动压缩存储,节省空间
- 🔒 加密支持:可选 RSA 公钥加密日志
- 📂 文件管理:查看日志文件列表、清理过期日志
- 🏷️ 级别过滤:支持 VERBOSE / DEBUG / INFO / WARN / ERROR / FATAL 多级日志
- 📱 双端声明:Android / iOS 统一接口(iOS 即将支持)
📦 安装
插件市场搜索 MS-Xlog 或直接导入 uni_modules。
🚀 快速开始
// 1. 引入插件
import {
init, info, error, flush, getLogDir, getLogFiles,
XLOG_INFO
} from '@/uni_modules/axen-uts-xlog';
// 2. 初始化(建议在 App.vue onLaunch 中)
const res = init({
level: XLOG_INFO, // INFO 级别
namePrefix: 'myapp', // 日志文件名前缀
console: true, // 同时输出到 HBuilderX console(仅调试时开启)
cacheDays: 7, // 保留 7 天
maxFileSize: 5 * 1024 * 1024, // 单文件最大 5MB
maxAliveTime: 24 * 60 * 60, // 单文件最长 24 小时
});
if (res.success) {
console.log('Xlog 日志目录:', getLogDir());
}
// 3. 写日志
info('Home', '用户进入首页');
error('Pay', '支付失败: ' + JSON.stringify({ code: 1 }));
// 4. 刷盘(重要操作后建议调用)
flush();
// 5. 查看日志文件
const files = getLogFiles();
files.forEach(f => console.log(f.name, f.size));
📖 API 文档
init(config?)
初始化 Xlog,必须先调用。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| level | number | 2 | 日志级别,建议用常量 XLOG_VERBOSE / XLOG_DEBUG / XLOG_INFO / XLOG_WARN / XLOG_ERROR / XLOG_FATAL |
| mode | number | 0 | 写入模式:0=异步, 1=同步 |
| namePrefix | string | "uniapp" | 日志文件名前缀 |
| console | boolean | false | 是否同时输出到 HBuilderX console(⚠️ 生产环境请关闭) |
| cacheDays | number | 7 | 日志保留天数 |
| cacheDir | string | - | 自定义缓存目录 |
| logDir | string | - | 自定义日志目录 |
| pubKey | string | - | 加密公钥(可选) |
| maxFileSize | number | 0 | 单个日志文件最大字节数(0=不限制) |
| maxAliveTime | number | 0 | 单个日志文件最长存活秒数(0=不限制) |
返回值 XlogResult:{ success: boolean, code: number, message: string, data?: UTSJSONObject }
日志写入
verbose(tag, msg) // VERBOSE
debug(tag, msg) // DEBUG
info(tag, msg) // INFO
warn(tag, msg) // WARN
error(tag, msg) // ERROR
fatal(tag, msg) // FATAL
log(level, tag, msg) // 自定义级别
tag:日志标签,用于分类过滤msg:日志内容(字符串)
管理操作
flush() // 强制刷盘(异步)
close() // 关闭 Xlog
getLogDir() // 获取日志目录路径
getLogFiles() // 获取日志文件列表,返回 XlogFileInfo[]
setMaxFileSize(bytes) // 设置单个日志文件最大字节数
setMaxAliveTime(seconds) // 设置单个日志文件最长存活秒数
cleanExpiredLogs(days) // 清理 days 天前的日志,返回删除数量
📁 日志存储位置
- 缓存目录:
{filesDir}/xlog/cache - 日志目录:
{externalFilesDir}/xlog/logs
📄 日志输出样例
使用 Mars Xlog 解码工具打开 .xlog 文件后,每行日志格式如下:
[I][2026-06-12 +8.0 12:00:00.123][12345, 67890*][MyApp] 用户进入首页
[E][2026-06-12 +8.0 12:00:01.456][12345, 67890*][Pay] 支付失败: {"code":1}
| 字段 | 说明 |
|---|---|
I / E |
日志级别:V/D/I/W/E/F |
2026-06-12 +8.0 ... |
时间戳(含时区,毫秒精度) |
12345 |
进程 PID |
67890* |
线程 TID,* 标记主线程 |
MyApp / Pay |
日志标签 |
| 之后 | 日志内容 |
日志文件为二进制加密格式,需使用 Mars Xlog 官方解码工具查看。
⚠️ 注意事项
- 生产环境
console请保持默认false,避免日志内容泄露到控制台 - iOS 平台暂不支持,调用会输出
console.warn提示 - 日志文件请通过
adb pull或应用内导出功能获取
📄 许可证
插件基于 Tencent Mars Xlog(MIT License),插件本体为商业授权。

收藏人数:
购买普通授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 1
赞赏 0
下载 12234947
赞赏 1920
赞赏
京公网安备:11010802035340号