深入探究Golang中log标准库的使用 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ 目录Go 语言标准库中的 log 包设计简洁明了,易于上手,可以轻松记录程序运行时的信息、调试错误以及跟踪代码执行过程中的问题等。使用 log 包无需繁琐的配置即可直接使用。本文旨在深入探究 log 包的使用和原理,帮助读者更好地了解和掌握它。
使用先来看一个 log 包的使用示例:
?
假设以上代码存放在
以上示例代码中使用 log 包提供的 9 个函数分别对日志进行输出,最终得到 4 条打印日志。我们来分析下每个日志函数的作用,来看看为什么出现这样的结果。 log 包提供了 3 类共计 9 种方法来输出日志内容。
根据以上表格说明,我们可以知道,log 包在执行 以上是 log 包最基本的使用方式,如果我们想对日志输出做一些定制,可以使用
?
使用示例:
?
示例输出:
以上示例中,指定日志输出到 日志属性可选项如下:
这些属性都是预定义好的常量,不能修改,可以通过 使用
现在我们来看一个更加完整的使用示例:
?
执行以上代码,得到
控制台输出内容如下:
可以发现,在 因为后续通过 以上,基本涵盖了 log 包的所有常用功能。接下来我们就通过走读源码的方式来更深入的了解 log 包了。
源码注意:本文以 Go 1.19.4 源码为例,其他版本可能存在差异。 Go 标准库的 log 包代码量非常少,算上注释也才 400+ 行,非常适合初学者阅读学习。 在上面介绍的第一个示例中,我们使用 log 包提供的 9 个公开函数对日志进行输出,并通过表格的形式分别介绍了函数的作用和使用示例,那么现在我们就来看看这几个函数是如何定义的:
?
可以发现,这些函数代码主逻辑基本一致,都是通过 那么接下来就是要搞清楚这个 我们先来看下
?
可以看到, 这跟我们上面讲的自定义日志对象
?
注册即送1000元现金券
|