1
zhujinliang 2015-11-26 11:40:57 +08:00 via iPhone
解决这个问题…是个挺麻烦的事……
我自己写日志库时也遇到了这个问题 如果那个库没提供“等待退出”这样的方法的话,是没有办法的 你需要给负责打印日志工作的 goroutine 通过 channel 发送一个消息,让它主动退出,但如果传送日志的 channel 是个带缓冲带 channel 的话, goroutine 返回前还需要用 for...range 或者 for...select...default 把缓存中的日志处理完 |
2
hhkbp2 2015-11-26 13:29:16 +08:00
永久解决,不如换成这个吧
https://github.com/hhkbp2/go-logging |
3
yougg 2015-11-26 14:40:37 +08:00
把异步写日志改成同步的, 如果你能接受性能损耗...
|
4
Comdex 2015-11-26 15:41:51 +08:00
换个库?
|
5
elgoog1970 2015-11-26 17:43:39 +08:00
|
6
ensonmj 2015-11-26 19:56:19 +08:00
最简单的改法,把 buffer 调成非缓冲的,就变成同步的了
|