//以下程序用于输出程序崩溃日志
func PanicHandler() {
exeName := os.Args[0] //获取程序名称
now := time.Now() //获取当前时间
pid := os.Getpid() //获取进程ID
time_str := now.Format("20060102150405") //设定时间格式
fname := fmt.Sprintf("%s-%d-%s-dump.log", exeName, pid, time_str) //保存错误信息文件名:程序名-进程ID-当前时间(年月日时分秒)
fmt.Println("dump to file", fname)
f, err := os.Create(fname)
if err != nil {
return
}
defer f.Close()
if err := recover(); err != nil {
f.WriteString(fmt.Sprintf("%v\r\n", err)) //输出panic信息
f.WriteString("========\r\n")
}
f.WriteString(string(debug.Stack())) //输出堆栈信息
}
go 输出程序奔溃日志
最新推荐文章于 2025-04-24 14:05:56 发布