返回顶部
首页 > 资讯 > 后端开发 > GO >Go语言日志内聚复用及gjson踩坑记录分享
  • 434
分享到

Go语言日志内聚复用及gjson踩坑记录分享

2024-04-02 19:04:59 434人浏览 八月长安
摘要

目录统一日志格式打印日志封装打印日志的方法内聚和复用gJSON今天分享一下最近遇到的坑: 以下代码示例使用GoFrame框架,下文简称为gf框架。 统一日志格式 我有个不好的习惯,不

今天分享一下最近遇到的坑:

以下代码示例使用GoFrame框架,下文简称为gf框架。

统一日志格式

我有个不好的习惯,不管是之前开发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

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语言日志内聚复用及gjson踩坑记录分享的详细内容,更多关于Go日志内聚复用gjson踩坑的资料请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: Go语言日志内聚复用及gjson踩坑记录分享

本文链接: https://lsjlt.com/news/151152.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Go语言日志内聚复用及gjson踩坑记录分享
    目录统一日志格式打印日志封装打印日志的方法内聚和复用gjson今天分享一下最近遇到的坑: 以下代码示例使用GoFrame框架,下文简称为gf框架。 统一日志格式 我有个不好的习惯,不...
    99+
    2024-04-02
  • Go语言日志内聚复用的方法
    这篇“Go语言日志内聚复用的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言日志内聚复用的方法”文章吧。统一日志格...
    99+
    2023-07-02
  • 日志记录在GO语言接口中的应用:学习实例分享
    日志记录在软件开发中是一个非常重要的环节,它可以帮助我们追踪和调试程序的运行情况,以及及时发现和解决潜在的问题。在Go语言开发中,我们可以通过一些第三方库来实现日志记录功能,比如logrus、zap等。但是,这些库都是基于结构体的,需要在...
    99+
    2023-06-25
    教程 接口 日志
  • GO语言中日志记录的重要性:接口实现技巧分享
    在软件开发中,日志记录是非常重要的一环。它可以帮助我们了解软件运行的情况,以便快速定位和解决问题。GO语言提供了丰富的日志记录功能,但是如何实现日志记录的接口却是一项重要的技巧。本文将分享一些GO语言中日志记录接口的实现技巧,并附上演示代...
    99+
    2023-06-25
    教程 接口 日志
  • Shell脚本编写技巧分享:Go语言+日志记录+LeetCode算法练习
    Shell脚本编写技巧分享:Go语言 日志记录 LeetCode算法练习 在Shell脚本编写中,我们常常需要记录日志、调用其他语言进行计算等。本文将介绍如何使用Go语言编写Shell脚本中的日志记录和LeetCode算法练习,帮助你更好地...
    99+
    2023-06-20
    shell 日志 leetcode
  • 为什么使用Go语言来记录Unix系统日志?
    Unix系统日志是系统管理员进行故障排除和安全监控的重要工具。它记录了系统运行时的各种事件和错误信息,如登录尝试、系统启动、服务启动、内核错误等等。在大型系统中,日志文件可能非常庞大,因此需要一种高效的方式来记录和处理这些信息。而Go语言...
    99+
    2023-06-02
    日志 numpy unix
  • GO语言接口教程:如何在日志记录中使用?
    在软件开发中,日志记录是一项非常重要的任务。它可以帮助开发人员追踪代码中出现的错误,排除问题并优化应用程序的性能。GO语言是一种现代的编程语言,它提供了一个强大的日志记录框架,可以帮助开发人员轻松地记录日志信息。在本篇文章中,我们将介绍如...
    99+
    2023-06-25
    教程 接口 日志
  • 使用GO语言接口实现日志记录:教程详解
    日志记录是每个应用程序都需要的一个重要功能。它可以帮助开发人员及时发现并解决应用程序中的问题,提高应用程序的稳定性。在GO语言中,我们可以通过实现一个接口来实现日志记录功能。 下面是一个简单的例子,演示如何使用GO语言接口实现日志记录。 ...
    99+
    2023-06-25
    教程 接口 日志
  • 如何使用 Go 语言生成二维码并记录日志?
    在现代的互联网时代,二维码的应用越来越广泛。在很多场景下,我们都需要使用二维码来传递信息,比如在商场、超市、餐厅等地方扫描二维码可以获取更多的信息,或者在一些活动中使用二维码来验证身份等等。因此,二维码的生成和使用也变得越来越重要。在本文...
    99+
    2023-07-26
    二维码 日志 打包
  • 如何在Go语言中实现高性能的分布式日志记录?
    在现代软件开发中,日志记录是至关重要的。通过记录应用程序的运行情况,我们可以更好地了解应用程序的行为,帮助我们发现问题并定位错误。在分布式系统中,日志记录更是必不可少的,因为我们需要在多个节点上查找和排除问题。因此,在本文中,我们将探讨如何...
    99+
    2023-10-20
    缓存 日志 分布式
  • Go语言中的日志记录:使用Numpy处理数据的好处是什么?
    在Go语言中,日志记录是一个非常重要的组件。它可以用来记录应用程序的运行状态、错误信息和其他有用的信息。在日志记录中,使用Numpy处理数据是一种非常常见的方式,它可以帮助我们更好地处理数据,提高代码的可读性和可维护性。本文将介绍在Go语...
    99+
    2023-06-02
    日志 numpy unix
  • GO语言接口教程:如何使用日志记录来提高代码可读性?
    随着软件开发的不断发展,代码的可读性和可维护性变得越来越重要。在GO语言中,我们可以使用日志记录来提高代码的可读性和可维护性。本篇文章将介绍如何使用日志记录来提高代码的可读性和可维护性。 1.什么是日志记录? 日志记录是一种记录系统运行时...
    99+
    2023-06-25
    教程 接口 日志
  • 您是否知道 Go 语言支持哪些 NumPy 数据类型用于日志记录?
    Go 语言是一种开源的编程语言,被广泛地应用于云计算领域。作为一种高性能、高并发、易于编写的语言,Go 语言已经成为了云计算领域中最重要的编程语言之一。而在 Go 语言中,有一些 NumPy 数据类型被用于日志记录,本文将带您一探究竟。 首...
    99+
    2023-10-21
    数据类型 日志 numy
  • Go 语言开发者必知:如何使用日志记录来调试二维码生成器?
    随着移动互联网的快速发展,二维码逐渐成为了人们日常生活中不可或缺的一部分。而作为开发者,我们也需要开发二维码生成器来满足用户的需求。但是,在开发过程中,我们难免会遇到各种问题。其中,调试问题是开发过程中必须要面对的难题。本文将介绍如何使用...
    99+
    2023-07-26
    二维码 日志 打包
  • 如何使用 Go 语言编写一个能够自动生成二维码并记录日志的打包工具?
    Go 语言是一种强类型、静态类型的编程语言,它的设计目标是简单、高效和可靠。在开发过程中,我们常常需要使用一些工具来帮助我们完成一些重复性的工作,例如打包和发布应用程序。本文将介绍如何使用 Go 语言编写一个能够自动生成二维码并记录日志的打...
    99+
    2023-07-26
    二维码 日志 打包
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作