iOS轻量分组日志工具 Log4OC
OC分级日志工具,支持4种日志级别,提供两种持久化方案
源码地址: github.com/FinderTiwk/…
使用
#import "Log4OC.h"//DEBUGLog(建议开发调试使用)DEBUGLog(@"这是一个DEBUG级别日志");DEBUGLog(@"FinderTiwk", @"这是一个带作者的的DEBUG级别日志");//INFOLog(建议记录关键信息使用)INFOLog(@"这是一个INFO级别日志");INFOLog(@"FinderTiwk", @"这是一个带作者的的INFO级别日志");//WARNINGLog(建议记录警告敏信息使用)WARNINGLog(@"这是一个WARNING级别日志");WARNINGLog(@"FinderTiwk", @"这是一个带作者的的WARNING级别日志");//ERRORLog(建议记录发生异常错误时使用)ERRORLog(@"这是一个ERROR级别日志");ERRORLog(@"FinderTiwk", @"这是一个带作者的的ERROR级别日志");----------------------Console Print-----------------------
[?DEBUG] 2018-11-14 12:53:45: 这是一个DEBUG级别日志
[?DEBUG] 2018-11-14 12:53:45(FinderTiwk): 这是一个带作者的的DEBUG级别日志
[?INFO] 2018-11-14 12:53:45: 这是一个INFO级别日志
[?INFO] 2018-11-14 12:53:45(FinderTiwk): 这是一个带作者的的INFO级别日志
[⚠️WARNING] 2018-11-14 12:53:45: 这是一个WARNING级别日志
[⚠️WARNING] 2018-11-14 12:53:45(FinderTiwk): 这是一个带作者的的WARNING级别日志
[?ERROR] 2018-11-14 12:53:45: 这是一个ERROR级别日志
[?ERROR] 2018-11-14 12:53:45(FinderTiwk): 这是一个带作者的的ERROR级别日志
复制代码
偏好设置
0x00 日志级别
LogLevel | DESC |
---|---|
LogLevelDEBUG | 默认; 显示包括(DEBUGLog,INFOLog,WARNINGLog,ERRORLog的Log) |
LogLevelINFO | 显示包括(INFOLog,WARNINGLog,ERRORLog的Log) |
LogLevelWARNING | 显示包括(WARNINGLog,ERRORLog的Log)* |
LogLevelERROR | 只显示ERRORLog的log |
LogLevelNONE | 关闭所有日志 |
#ifdef __OPTIMIZE__//当打包时建议去除DEBUG级别的日志setLogLevel(LogLevelINFO);
#endif//获取当前日志级别
LogLevel level = currentLogLevel();复制代码
0x01 日志模式
- mode: 日志模式
- 0: 只打印到控制台,DEFAULT
- 1: 将日志保存到Sqlite中
- 2: 将日志保存到本地文件中
- clean: 当日志模式不是0时,是否自动清理日志
- 0: 不自动清理
- 大于0: 自动清理当前日期之前的n天的日志
- both: 当日志模式不是0时,日志持久化时是否同时打印到控制台
- YES: 同时输出到控制台和文件 (DEBUG时用)
- NO: 只输出到文件
extern void setLogMode(NSUInteger mode,NSUInteger clean, BOOL both);
复制代码
0x02 日志文件切割
当日志模式为2存储为本地文件时,设置日志文件大小阀值,K为单位, default 1024K/1M,当单个.log文件大于这个阀值时,会自动生成新的文件写入。
日志将会保存在应用沙盒中,名称例如: 2018_xx_xx-1.log ,2018_xx_xx-2.log
extern void setLogMaxSize(NSUInteger threshold);
复制代码
日志过滤
- 按日志级别过滤
- 按写日志的作者名称过滤
- 按时间过滤
0x00 控制台模式下
日志级别: 可以通过打印出的日志前缀用肉眼观测,或者在控制台里COMMAND+F搜索关键字(DEBUG,INFO,WARNING,ERROR)
作者名称: 在控制台里COMMAND+F搜索作者名称
时间: 控制台日志输出按时间顺序输出,自己查看日志前缀里的时间戳
0x01 数据库模式下
数据库表结构,表名Logger
字段 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
level | INTEGER | 日志级别 | |
time | DATE | CURRENT_TIMESTAMP | 打印时间 |
content | TEXT | 日志内容 | |
author | TEXT | 作者,DEAFULT Apple |
日志级别:
SELECT * FROM `Logger` WHERE level = 2
复制代码
作者名称:
SELECT * FROM `Logger` WHERE author = 'FinderTiwk'
复制代码
时间:
SELECT * FROM `Logger` WHERE time > '2018-11-13 12:12:12'
复制代码
多条件过滤:
SELECT * FROM `Logger` WHERE author = 'FinderTiwk' AND level = 2 AND time > '2018-11-13 12:12:12'
复制代码
0x02 本地文件模式
使用Mac系统自带的Console打开2018_xx_xx-1.log
文件,通过关键字搜索
如果图裂了,请看 user-gold-cdn.xitu.io/2018/11/16/…
转载于:https://juejin.im/post/5bee1cea6fb9a049d81b6c98
iOS轻量分组日志工具 Log4OC相关推荐
- api-hook,更轻量的接口测试工具
前言 在网站的开发过程中,接口联调和测试是至关重要的一环,其直接影响产品的核心价值,而目前也有许多技术方案和工具加持,让我们的开发测试工作更加便捷.接口作为数据传输的重要载体,数据格式和内容具有多样性 ...
- 国产LINUX服务器操作系统openEuler下的轻量开源虚拟化工具stratovirt
StratoVirt设计 概述 StratoVirt是一种基于Linux内核的虚拟机(KVM)的开源轻量级虚拟化技术: StratoVirt在保持传统虚拟化的隔离能力和安全能力的同时,降低了内存资源消 ...
- GoAccess轻量nginx日志分析工具
什么是GoAccess GoAccess 是一款开源.实时,运行在命令行终端下的 Web 日志分析工具. 该工具提供快速.多样的 HTTP 状态统计. 分析结果,可以通过 XShell 等客户端工具查 ...
- 轻量型日志采集器 Filebeat基本使用
文章目录 1 介绍 2 安装 2.1 下载安装 3 收集日志配置 4 启动 5 举例 5.1 Filebeat收集日志并输出到控制台 5.2 Filebeat收集Nginx运行日志并输出到es 5.3 ...
- mysql轻量在线管理工具_重磅推荐!我在Github找到一个超级轻量、灵活的SQL工具...
开源最前线(ID:OpenSourceTop) 猿妹综合整理 综合自:https://github.com/HVF/franchise 今天,猿妹和大家推荐一款轻量级但功能强大的 SQL 工具,带有 ...
- 不用下载就能使用的4款轻量在线PS工具
PS是一种非常熟悉的设计工具,也是一种在设计领域占有重要地位的软件,如常见的产品设计.平面设计或摄影后期设计,几乎与PS的使用密不可分.PS本身也有很多功能,每个人的日常设计图纸.图纸修复等工作都可以 ...
- CYQ.Data 轻量数据层之路 使用篇-辅助工具枚举生成器 视频 C (二十)
说明: 本次录制主要为使用篇:CYQ.Data 轻量数据层之路 优雅V1.4 辅助工具(十) 的附加视频教程. 本次视频介绍了使用工具创建存储过程/生成日志表/生成枚举文件等相关操作,同时以示例实 ...
- 史上最轻量!阿里新型单元测试Mock工具开源了
简介:为了探索更轻量易用的Mock测试手段,阿里云云效团队尝试给工具减负,在主流Mock工具的基础上让Mock的定义和置换干净利落,最终设计了一款极简风格的测试辅助工具TestableMock,无需初 ...
- 轻量、简单、易容、免费的bug管理工具-delbug管理
轻量.简单.易容.免费的bug管理工具-delbug管理 在整个软件开发周期中测试的重要性不言而喻,它直接决定了软件的健壮性和可用性.在如今新软件层出不穷,软件迭代不断加快的时代.完善的测试更是显得弥 ...
最新文章
- YOLOS:重新思考Transformer的泛化性能
- 综述 | 语言分析技术在社会计算中的应用
- cve-2018-1273 Spring Expression Language 漏洞分析
- python培训骗局-python 无良培训忽悠骗局知多少?
- 在一个字符串寻找另一个字符串,并且输出短字符串头字母在长字符串的下标...
- [ USACO 2017 FEB ] Why Did the Cow Cross the Road III (Gold)
- 读书 - Delphi下深入Windows核心编程 第二天
- python中常见的双下方法_python中常见的双下方法_python面向对象(5)__特殊双下方法...
- Boost.Function 库示例
- MySQL连接方式:长连接或者短连接
- HDU 5919 分块做法
- AIX操作系统版本小知识(转载)
- 【非科班告诉你】前端自学从小白到入门
- 字符设备驱动 架构分析
- appium 处理滑动的方法
- 【李宏毅机器学习】01:机器学习介绍 Introduction
- Codeforces Education Round 11
- pascal语言基础(一)
- 需求分析及技术方案设计
- 黄峥:我的人生经历和创业理念
热门文章
- Vue + webpack 项目实践
- Mysql 多表联合查询效率分析及优化
- 【java开发系列】—— JDK安装
- 《Effective C++》读书笔记(第一部分)
- 程序员面试题精选100题(56)-C/C++/C#面试题(4)
- 方差/标准差/四分位数/z-score公式
- 【OpenCV3】级联分类器训练——traincascade快速使用详解
- [USACO06DEC]牛的野餐Cow Picnic DFS
- 用Jmeter做微信小程序项目接口测试【案例】
- python 字符串格式化,使用f前缀