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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战