package publicmethod import ( "fmt" "key_performance_indicators/overall" "log" "os" "time" ) //日志相关操作 //判断文件夹是否存在,不存在得话就创建 /* @path 日志文件夹 */ func PathExists(path string) bool { _, err := os.Stat(path) // fmt.Printf("path----->%v\n", err) if err == nil { return true } if os.IsNotExist(err) { mkdirErr := os.Mkdir(path, os.ModePerm) if mkdirErr == nil { return true } else { return false } } return true } //写日志 func WriteLog(class string, errmsg ...any) { // var ErrorLog *log.Logger fileName := fmt.Sprintf("./%v/%v", overall.CONSTANT_CONFIG.Logsetup.Path, UnixTimeToDay(time.Now().Unix(), 21)) // fmt.Printf("fileName--->%v\n", fileName) if PathExists(fileName) != true { return } logFilePath := fmt.Sprintf("%v/%v.log", fileName, UnixTimeToDay(time.Now().Unix(), 20)) file, err := os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0766) if err != nil { log.Fatalln("Failed to open error log file: ", err) } // fmt.Printf("logFilePath--->%v\n", logFilePath) errLevel := "[Trace] " switch class { case "i": errLevel = "[Info] " case "w": errLevel = "[Warning] " case "e": errLevel = "[Error] " case "write": errLevel = "[Write] " case "add": errLevel = "[Add] " case "edit": errLevel = "[Edit] " case "del": errLevel = "[Delete] " default: errLevel = "[Trace] " } loger := log.New(file, errLevel, log.Ldate|log.Ltime) loger.SetFlags(log.Ldate | log.Ltime) loger.Println(errmsg) return }