更新记录

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),插件本体为商业授权。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。