在使用logrus记录大量JSON数据时,是否应该在单独的goroutine中启动?

huangapple go评论87阅读模式
英文:

Should logging of heavy JSON data with logrus be launched in a separate goroutine?

问题

我需要在Web请求处理程序中记录相对较大的JSON数据。logrus是否使用阻塞I/O?我应该在单独的goroutine中调用logger.WithFields(fields).Info(heavy_message)吗?

英文:

I need to log relatively heavy JSON data within the web request handler. Does the logrus use blocking I/O? Should I call the logger.WithFields(fields).Info(heavy_message) in a separate goroutine?

答案1

得分: 1

这段代码看起来是阻塞I/O操作,所以是的,你应该在一个goroutine中调用它。

英文:

https://github.com/sirupsen/logrus/blob/79c5ab66aa2ce7d9ff7b3c437ebc22fcc519a967/entry.go#L221-L262
it looks like it is blocking i/o, so yes - you should call it in a goroutine.

huangapple
  • 本文由 发表于 2021年11月18日 00:33:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/70008204.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定