| 18 | } |
| 19 | |
| 20 | func initFatalLog() *os.File { |
| 21 | fatal_log_dir := "./fatal" |
| 22 | if _fatal_log := os.Getenv("M7S_FATAL_LOG"); _fatal_log != "" { |
| 23 | fatal_log_dir = _fatal_log |
| 24 | } |
| 25 | os.MkdirAll(fatal_log_dir, 0766) |
| 26 | fatal_log := filepath.Join(fatal_log_dir, "latest.log") |
| 27 | info, err := os.Stat(fatal_log) |
| 28 | if err == nil && info.Size() != 0 { |
| 29 | os.Rename(fatal_log, filepath.Join(fatal_log_dir, info.ModTime().Format("2006-01-02 15:04:05")+".log")) |
| 30 | } |
| 31 | logFile, err := os.OpenFile(fatal_log, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666) |
| 32 | if err != nil { |
| 33 | log.Println("服务启动出错", "打开异常日志文件失败", err) |
| 34 | return nil |
| 35 | } |
| 36 | return logFile |
| 37 | } |
| 38 | |
| 39 | func CurrentDir(path ...string) string { |
| 40 | if _, currentFilePath, _, _ := runtime.Caller(1); len(path) == 0 { |