- 直接使用系统文件缓存接口,减少内存拷贝次数。
- 独立线程负责刷新缓冲区,文件切换和文件异常的处理。
- 多线程日志生产者之间由互斥锁解决写同步问题。
- 文件采用大小切割时,采用倒序递增,保持后缀.0为最新日志文件。
- 文件采用小时切割时,采用%Y%m%d-%H格式日志名。
- 支持多个logger配置,写入不同日志。
- 支持logger配置目录,文件名,单文件大小,异步文件io时间间隔,小时切割等参数自定义。
- 日志内容使用skynet_malloc分配内存。仅日志内容需要申请内存。
- lua调用c接口的参数由c负责拼接,减少lua的gc对象开销。
makefile内需指定SKYNET_PATH,make时会先clean
sudo make macosx
sudo make linux