go 官方版本的日志模块为什么加锁那么多

Titanarthas · 2018-04-21 16:46:46 · 3650 次点击

我的exit函数会阻塞,保证所有日志都写完才退出程序。我是从c/c++过来的,刚上手一个周。所以我是照搬c/c++的思想,先用锁缓存到一个内存队列,然后用一个专门的线程去处理这个队列。

#8
更多评论

一个好的日志库非常难的,比如你写的代码就没有确保日志一定会写入到文件,你可以查看一下glog是如何实现的。你msgChan是无缓存的,如何确保不阻塞?

#1

你说的这些问题我都处理了,缓存是配置文件里面可配置。exit函数可以确保写入文件。

#2