在新建日志文件后运行三个协程:
1、负责定时检查文件是否存在,若不存在,重新创建,并且清除过期日志
2、定时为文件改名字,在原名字后添加日期
3、定时将缓存内容flush到日志中
调用日志errorf等函数时:
1、判断其日志级别是否在配置的范围内
2、用runtime.Caller获取函数调用栈,得到运行当前命令所在的文件、所在行等信息
3、创建一个buffer用于临时存储string日志信息
4、将buffer内容写入到文件中
5、若buffer很大,则不做处理,交给垃圾回收机制;如果buffer不大,则将其保存起来,下次继续用。提高了系统资源的使用率。