我发现很多 go 的开源项目打印日志的方法,都是用每个 struct 里面包含一个 logger 的属性,打印日志都是用自己的 logger 来打印。但是这种方式要求我在创建 struct 的时候传递一个 logger 属性(通常都是用 new 方法传递)。但是这样一级一级的往下传递 logger 看着就很烦。直接在项目里面定义一个 log 包,打印日志的时候直接引用这个 log 包来打印又简单又好。
不明白这种每个 struct 包含一个 logger 的用途好在哪里?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.