项目简介
本项目将Mars日志系统集成到iOS应用中,借助xlog有效减小日志文件大小,为开发者的日志管理与分析工作提供便利。
项目的主要特性和功能
- 支持多种日志级别,便于开发者调试与排查问题。
- 具备异步写入和压缩功能,减小日志文件大小,提升写入效率。
- 提供简洁的API接口,方便在项目中集成和使用。
- 可从沙盒路径获取日志文件并上传,便于远程查看与分析。
- 借助XlogDecoder工具进行日志解析,支持加密日志解析。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件。
具体步骤
- 下载Mars官方文件,安装cmake和python3。
- 安装命令:
brew install cmake
和brew install python3
- 安装命令:
- 编译Mars框架:
- 修改ios.toolchain.cmake文件,在
if(DEFINED PLATFORM)
前插入set(PLATFORM SIMULATOR64)
(SIMULATOR64:x86_64 OS:arm64)。 - 进入mars文件目录,运行
python build_ios.py
生成mars.framework。
- 修改ios.toolchain.cmake文件,在
- 将
/mars/mars/cmake_build/iOS/Darwin.out/mars.framework
拖入iOS项目,并导入相应系统Frameworks。 - 初始化xlog,设置日志路径、级别、压缩模式等参数,示例代码如下: ```objc
-
(void)setupXlogWithLogPath:(NSString )logPath { const char attrName = "com.apple.MobileBackup"; u_int8_t attrValue = 1; setxattr([logPath UTF8String], attrName, &attrValue, sizeof(attrValue), 0, 0);
// init xlog mars::xlog::appender_set_console_log(false); xlogger_SetLevel(kLevelInfo); mars::xlog::XLogConfig config; config.mode_ = mars::xlog::kAppenderAsync; config.logdir_ = [logPath UTF8String]; config.compress_mode_ = mars::xlog::kZlib; config.compress_level_ = 0; config.cachedir_ = ""; config.cache_days_ = 0; // config.pub_key_ = " appender_open(config); }
5. 使用API接口写入日志,调用`appender_flush()`确保日志写入完成,示例代码如下:
objc + (void)writeToFile:(NSString*)str { xlogger_Write(NULL, str.UTF8String); mars::xlog::appender_flush(); }6. 在项目结束时调用`appender_close()`关闭日志系统,示例代码如下:
objc + (void)closeXlog { mars::xlog::appender_close(); } ```
注意事项
- 直接include xlog头文件的oc文件名后缀必须为.mm,不能使用.m。
- 使用Mars日志系统时,需合理设置日志级别和压缩模式,以满足项目需求。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】