作者回复: 回答满分!
作者回复: 这些属于微服务/云原生范畴了,引入会给课程带来更大的复杂度。 你说的这些,在 44|技术演进(下):软件架构和应用生命周期技术演进之路 中有介绍
作者回复: github.com/marmotedu/iam/pkg/log 这个包没有bug。 之所以打印了299条,是因为里面有很多log内容是完全重复的,包括时间戳,msg等等,zap会对这些完全一样的log去重。在实际开发中,时间戳,日志内容完全一致概率几乎为0.
作者回复: 是的哈,并发场景下没有问题
作者回复: 老哥理解的很到位,1/2是文件栈的深度。
作者回复: 性能跟github.com/pkg/log性能接近一致。github.com/pkg/log这个包很多生产环境在用,所以iam的log包应用在生产环境完全没问题。 你要感兴趣,可以跟其它包对比下,比如:logrus,zap,glog等。也欢迎在留言区分享对比结果。
作者回复: log.Int32直接指定了字段类型,log不需要再做反射,这种疾苦方式可以提高性能。 V Level可以允许指定任意优先级的日志级别。你可以参考glog的用法来理解V level。 有时候日志包预定义的日志级别可能不够用,这时候可以试试V Level
作者回复: 可以提前创建个,或者修改下log包,不存在则新建
作者回复: 通过配置文件,配置吧。
作者回复: 服务部署在docker种,就不需要用logrotate轮转了。可以直接使用filebeat采集,这些日志采集后就直接删除了