无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直是很重要的环节,我们也应该养成在程序中记录日志的好习惯。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了庆城免费建站欢迎大家使用!Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。
log包定义了Logger类型,该类型提供了一些格式化输出的方法。本包也提供了一个预定义的“标准”logger,可以通过调用函数Print系列(Print|Printf|Println)、Fatal系列(Fatal|Fatalf|Fatalln)和Panic系列(Panic|Panicf|Panicln)来使用,比自行创建一个logger对象更容易使用。
例如,我们可以像下面的代码一样直接通过log包调用上面提到的方法,默认它们会将日志信息打印到终端界面:
package main
import (
"log"
)
func main(){
log.Println("这是一条很普通的日志")
v:="很普通的"
log.Printf("这是一条%s的日志。\n",v)
log.Fatalln("这是一条会触发fatal的日志。")
log.Panicln("这是一条会触发panic的日志")
}
编译并执行上面的代码会得到下面的输出:
2019/06/05 00:17:03 这是一条很普通的日志
2019/06/05 00:17:03 这是一条很普通的的日志。
2019/06/05 00:17:03 这是一条会触发fatal的日志。
exit status 1
logger会打印每条日志信息的日期、时间,默认输出到系统的标准错误。Fatal系列函数会在写日志信息后调用os.Exit(1)。Panic系列函数会在写入日志信息后panic.
默认情况下的logger只会提供日志的时间信息,但是很多情况下我们希望得到更多的信息,比如记录该日志的文件名和行号等。log标准库中为我们提供了定制这些设置的方法。
log标准库中的Flags函数会返回标准的logger的输出配置,而SetFlags函数用来设置标准的logger的输出配置。
func Flags() int
func SetFlags(flag int)
log标准库提供了如下的flag选项,它们是一系列定义好的常量。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。