package main
import (
"context"
"time"
"github.com/gogf/gf/v2/frame/g"
)
func main() {
ctx := context.TODO()
for i := 0; i < 10; i++ {
g.Log().Async().Print(ctx, "async log", i)
}
g.Log().Print(ctx, "normal log")
g.Log().Print(ctx, "normal log")
g.Log().Print(ctx, "normal log")
time.Sleep(time.Second)
}
4 Comments
yuefei7746
异步日志的写入耗时是未知的(虽然正常情况下它应该很快),所以在无法确定耗时的情况下使用time.Sleep很难设定一个合适的等待时间。
那么异步的日志写入是否可以提供一个类似WriteGroup的机制,避免服务关闭时无法保证日志被写入到文件;或者g.Log().Flush()
郭强
好建议,这个等社区来PR吧
echo
Async
链式操作 的代码写错了吧,压根就没用到async方法啊eos
Async日志模式可以尽快安排上,设置时间来做的异步看起来很鸡肋,建议支持同步、异步(TCP、UDP)模式。