1、项目介绍 本项目主要实现一个日志系统,其主要支持以下功能: 支持多级别日志消息 将日志分为不同等级的日志,有调试级别的日志、提示级别的日志、警告级别的日志、错误级别
1、项目介绍
本项目主要实现一个日志系统,其主要支持以下功能:
- 支持多级别日志消息
将日志分为不同等级的日志,有调试级别的日志、提示级别的日志、警告级别的日志、错误级别的日志、致命级别的日志……不同级别的日志应对着不同的场景。可以通过日志级别来实现限制输出的级别:当调试时候可以规定打印调试级别以上的日志信息,方便调试;当发布之后可以设置成输出错误级别以上的日志信息,这样能够使定位更加明确,分析更快速准确。
- 支持同步日志和异步日志
同步日志就是将日志写入到文件/数据库这个操作由业务线程自己来完成;异步日志就是指业务线程将日志放到内存中,并不由业务线程将日志写入到文件/数据库(避免因为文件/数据库问题使业务线程卡在这里,不能执行下面的业务),而是由其他的工作线程将日志写入到文件/数据库,进行实际的输出。
- 支持可靠写入日志到控制台、文件以及滚动文件中
支持日志消息的不同落地方向,可以将这条消息进行打印、或写入到指定的文件中、或写入到滚动文件中(滚动文件是指当日志信息写入到一个文件中,当这个文件达到指定的大小(也可以是指定的日期)之后切换到下一个文件写入)。
- 支持多线程程序并发写日志
是一个线程安全的日志系统,当两个线程同时通过日志器来同时写入到同一个文件中时,交叉写入会引发线程安全的问题。要实现的日志系统会解决上面的问题,系统是线程安全的,就算是多个线程同时写也不会出现数据二义的情况。
- 支持扩展不同的日志落地目标地
可以将日志写入到数据库、或者云服务器中的日志分析服务器中等,支持自定义落地方向。