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包的主要内容,如果未能解决你的问题,请参考以下文章