mirror of
https://github.com/Monibuca/engine.git
synced 2025-09-27 04:46:03 +08:00
25 lines
553 B
Go
25 lines
553 B
Go
// +build linux
|
|
|
|
package util
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"runtime"
|
|
"syscall"
|
|
)
|
|
|
|
func init() {
|
|
logFile, err := os.OpenFile("./fatal.log", os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0666)
|
|
if err != nil {
|
|
log.Println("服务启动出错", "打开异常日志文件失败", err)
|
|
return
|
|
}
|
|
// 将进程标准出错重定向至文件,进程崩溃时运行时将向该文件记录协程调用栈信息
|
|
if runtime.GOARCH == "arm64" {
|
|
syscall.Dup3(int(logFile.Fd()), int(os.Stderr.Fd()), 0)
|
|
} else {
|
|
syscall.Dup2(int(logFile.Fd()), int(os.Stderr.Fd()))
|
|
}
|
|
}
|