go语言碎片整理之标准库log

栏目: Go · 发布时间: 5年前

内容简介:无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直是很重要的环节,我们也应该养成在程序中记录日志的好习惯。Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。log包定义了Logger类型,该类型提供了一些格式化输出的方法。本包也提供了一个预定义的“标准”logger,可以通过调用函数Print系列(Print|Printf|Println)、Fatal系列(Fatal|Fatalf|Fatalln)和Panic系列(Panic|Panicf|Panicln)来使用,比自

无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直是很重要的环节,我们也应该养成在程序中记录日志的好习惯。

log

Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。

使用Logger

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

标准logger的配置

默认情况下的logger只会提供日志的时间信息,但是很多情况下我们希望得到更多的信息,比如记录该日志的文件名和行号等。log标准库中为我们提供了定制这些设置的方法。

log标准库中的Flags函数会返回标准的logger的输出配置,而SetFlags函数用来设置标准的logger的输出配置。

func Flags() int
func SetFlags(flag int)

flag选项

log标准库提供了如下的flag选项,它们是一系列定义好的常量。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

运营前线 2

运营前线 2

兰军 等著 / 机械工业出版社 / 2017-4 / 69.00

“运营前线”是一个系列,目前已经出版2部,与“产品前线”一样,该系列书也由资深的产品和运营专家兰军(Blues)领衔策划和写作,旨在梳理和总结国内一线互联网公司的运营方法和技巧,让所有产品人和运营人都有机会了解和学习这些大的互联网公司是如何做运营的。 这2部作品汇集了来自腾讯、阿里、百度、360、迅雷、YY、小米、爱奇艺、乐视等数十家大型互联网公司的一线运营专家的技巧和方法论。共包含9大运营......一起来看看 《运营前线 2》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码