go基础之log包

Posted zzxiaoma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go基础之log包相关的知识,希望对你有一定的参考价值。

1、简单的输出

package main
import (
"log"
)
func main()
log.Println("abc")

输出

2022/08/18 10:16:01 abc

格式为日期,时间,内容。如果想修改输出的格式,可以设置

const (

   Ldate         = 1 << iota     // 日期

   Ltime                         // 时间

   Lmicroseconds                 // 精准度更高的时间

   Llongfile                     // 文件位置和代码行数

   Lshortfile                    // 文件名和代码行

   LUTC                          // 设置的日期或时间,使用UTC时区

   Lmsgprefix                    // 把前缀放到内容前面,默认是在日志的最前面

   LstdFlags     = Ldate | Ltime // 默认值

)

例如,设置前缀

log.SetPrefix("zhangsan:")

zhangsan:2022/08/18 10:39:02 abc

设置Lmsgprefix

log.SetFlags(log.Ldate | log.Lmsgprefix)

2022/08/18 zhangsan:abc


2、异常输出

log.Fatal("abc")

Fatal方法会使程序退出exit status 1

log.Panic("abc")

Panic是程序触发Panic异常

3、设置输出文件

f, err := os.OpenFile("./abc.log", os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0664)
if err != nil
log.Fatal(err)

log.SetOutput(f)

4、生成log指针

使用默认参数

log2 := log.Default()
log2.Println("gef")

自定义新对象

func New(out io.Writer, prefix string, flag int) *Logger

第一个参数其实对应的就是output参数,第二个是前缀,第三个是输出格式

log3 := log.New(os.Stdout, "zhangsan:", log.Ldate|log.Lmsgprefix)
log3.Println("uio")

输出

2022/08/18 zhangsan:uio

以上是关于go基础之log包的主要内容,如果未能解决你的问题,请参考以下文章

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

Go语言基础之包

Go语言系列之标准库log

Go语言系列之标准库log

Go语言基础之包

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