一.日志
1.什么是日志
记录发生的某个事件并进行显示或者保存到文件中,这就是日志。
OneOS的日志系统叫做DLOG(day log)日志系统。
2.日志的作用
日志有助于程序调试,方便追溯问题。
日志可用于系统监控和性能测试,有助于系统维护和管理
二.OneOS DLOG框架
1.日志标签和日志级别
日志标签:
标签(tag) 用于日志分类,给每条log“附上”标签的属性,方便模块化管理。标签的名称可以自行定义。
日志级别:
DLOG框架总览
DLOG框架用分层设计,从上到下分别是:前端、核心和后端
前端:
前端是距离用户最近的一层,为用户提供API接口,如LOG_ _X和SYSLOG相关APl。
LOG_ X:
通过LOG_ X接口,可以实现前端输出。(X可以是E、W、I、D,分别对应前面四个日志级别,及错误级别、警告级别、信息级别、调试级别)
SYSLOG:
SYSL OG是Unix类操作系统常用的一种日志系统,SYSLOG模式可以兼容Linuxsyslog。
核心:
核心处于中间层,核心是按照要求将上层传进来的日志帧进行过滤和格式化后再输出到后端。
前过滤器:主要对标签过滤、全局过滤和全局标签过滤的设置进行过滤。
格式化模块:主要控制日志输出的格式。
后过滤器:对全局关键字进行过滤。
异步和同步输出模块:用于控制日志帧以不同模式输出到后端。
异步输出:
会暂时缓存当前要输出的日志帧,当专门的日志输出线程获得CPU的使用权时,再将日志帧统一进行输 出到后端;
同步输出:
当有日志要输出时,会立即在当前线程中向后端输出日志帧。
后端:
用于接收核心层发来的日志帧,将日志帧发送到已经注册的后端设备中,如:串口、SPI、USB,或者文件以及网络等。
SYSLOG的后端一般是文件或者网络。
三、OneOS DLOG特点介绍
1、可靠——支持在ISR、Hardfault等 复杂上下文环境中使用。
2、安全——输出被设计为任务线程安全的方式,并支持异步输出模式。
3、兼容Linux syslog —— 前端API兼容Linux syslog模式。
4、后端多样化——默认支持输出到串口终端,支持添加后端以实现多路日志输出。
5、支持4个日志等级——DLOG_ ERROR、DLOG_ _WARNING、DLOG_ INFO 和DLOG_ DEBUG
6、支持4种过滤方式——全局过滤、标签过滤、全局标签过滤和全局关键字过滤。
7、输出形式可调——配置项包含时间、任务线程名称、函数名称、文件行号和颜色等,支持浮点数格式
8.灵活——支持在运行时/编译时开关控制全局日志输出级别,使用Shell进行操作,简单易用