这篇“Go语言日志内聚复用的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言日志内聚复用的方法”文章吧。
我有个不好的习惯,不管是之前开发PHP,还是现在开发GO,都习惯在开发过程中使用dump()打印数据进行调试。
本地调试虽然爽了,但是上到测试环境,甚至开发环境查不到日志,无法方便的定位问题可就傻了。
所以,我们需要养成关键步骤打印日志的好习惯,而且要统一日志格式。
scm.Log.Info("测试的日志都打印在这里,res:%v", res)
指定日志打印目录
var Log = g.Log().Path(g.Log().GetPath() + "/scm")
通过gf提供的 g.log,再加上我们自己的封装,就能把日志按功能模块进行区分,方便定位问题。
gf框架有一个设计:internal,即只允许内部调用的方法。
我觉得作者设计internal,一方面是处于安全考虑,另外一方面是处于高内聚的考虑。
但是,也不要过度内聚,我今天遇到的问题就是如何更好的实现代码复用。
所以在项目中抽取了公共方法目录shared,将原本写在internal中的可以复用的逻辑进行迁移。
今天发现一个非常好用的工具类:gjson
gjson 可以将json/xml/toml/等文件或者文件内容进行读取,创建对象,通过get方法可以取到对象对应的值
package main import ( "fmt" "github.com/gogf/gf/encoding/gjson" ) func main() { jsonContent := `{"k5":1}` jsonObj, err := gjson.LoadContent(jsonContent) if err != nil { panic(err) } fmt.Println(jsonObj.Get("k5")) }
打印结果
以上就是关于“Go语言日志内聚复用的方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。