1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package main
-
- import (
- "fmt"
- _ "gdyb/routers"
- "gdyb/service"
- "log"
- "os"
- "runtime"
- "time"
-
- "github.com/astaxie/beego"
- )
-
- func init() {
- service.ConnectDB()
- }
- func PrintErr() {
- if err := recover(); err != nil {
- file, ferr := os.Create("panic.log")
- if ferr != nil {
- fmt.Println("无法输出panic.log文件", ferr.Error())
- return
- }
- defer file.Close()
- g := log.New(file, "panic:", 0)
- g.Printf("panic at %v", time.Now())
- g.Printf("%v", err)
- fmt.Printf("%v\r\n", err)
- for i := 0; i < 10; i++ {
- funcName, file, line, ok := runtime.Caller(i)
- if ok {
- fmt.Printf("[func:%v,file:%v,line:%v]\n", runtime.FuncForPC(funcName).Name(), file, line)
- g.Printf("[func:%v,file:%v,line:%v]\n", runtime.FuncForPC(funcName).Name(), file, line)
- }
- }
- }
- }
-
- func main() {
- defer PrintErr()
- beego.Run()
- }
|