Go 语言 - 自定义 log
Go 语言 - 自定义 log
Code/go/go_log_demo via 🐹 v1.20.3 via 🅒 base 
➜ tree
.
├── errors.log
├── go.mod
└── main.go
1 directory, 3 files
Code/go/go_log_demo via 🐹 v1.20.3 via 🅒 base 
➜ 
main.go
package main
import (
	"io"
	"log"
	"os"
)
var (
	Trace   *log.Logger // 几乎任何东西
	Info    *log.Logger // 重要信息
	Warning *log.Logger // 警告
	Error   *log.Logger // 错误
)
func init() {
	file, err := os.OpenFile("errors.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	if err != nil {
		log.Fatalln("无法打开错误 log 文件:", err)
	}
	Trace = log.New(io.Discard, "TRACE: ", log.Ldate|log.Ltime|log.Lshortfile)
	Info = log.New(os.Stdout, "INFO: ", log.Ldate|log.Ltime|log.Lshortfile)
	Warning = log.New(os.Stdout, "WARNING: ", log.Ldate|log.Ltime|log.Lshortfile)
	Error = log.New(io.MultiWriter(file, os.Stderr), "ERROR: ", log.Ldate|log.Ltime|log.Lshortfile)
}
func main() {
	Trace.Println("鸡毛蒜皮的小事")
	Info.Println("一些特别的信息")
	Warning.Println("这是一个警告")
	Error.Println("出现了故障")
}
运行
Code/go/go_log_demo via 🐹 v1.20.3 via 🅒 base 
➜ go run .               
INFO: 2023/05/26 14:22:34 main.go:33: 一些特别的信息
WARNING: 2023/05/26 14:22:34 main.go:34: 这是一个警告
ERROR: 2023/05/26 14:22:34 main.go:35: 出现了故障
Code/go/go_log_demo via 🐹 v1.20.3 via 🅒 base 
➜ 
errors.log
ERROR: 2023/05/26 14:22:34 main.go:35: 出现了故障
本文来自博客园,作者:寻月隐君,转载请注明原文链接:https://www.cnblogs.com/QiaoPengjun/p/17434656.html

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号