图1中我在老师你的logger.go 中增加了defer ,请问跟您在图2中的代码做有何区别, 如果不实现优雅关闭,我直接在图1中这样增加是否有问题。
来源:2-4 api接口如何设计

慕斯5059536
2022-09-07
图1:
https://gitee.com/phper95/pkg/blob/master/logger/logger.go
图1中我在老师你的logger.go 中增加了defer ,请问跟您在图2中的代码做有何区别,
如果不实现优雅关闭,我直接在图1中这样增加是否有问题。
写回答
1回答
-
少林码僧
2022-09-08
执行sync的目的是让日志刷盘,这个日志库考虑到性能会合并一些写入降低应用服务io次数,所以写日志的过程是异步处理的,但也会确保段时间周期内会进行刷盘。所以为了避免日志丢失,如果我们的日志需要写入到文件而不是输出终端,还是需要在应用退出前执行sync来确保日志刷盘,所以还是得放到优雅关闭中实现。
00
相似问题