package utils import ( "fmt" "io" "log" "os" "path/filepath" "time" ) var ( // 日志文件句柄 logFile *os.File // 日志目录 logDir = "logs" ) // InitLogger 初始化日志系统 func InitLogger() error { // 创建日志目录 if err := os.MkdirAll(logDir, 0755); err != nil { return fmt.Errorf("创建日志目录失败: %w", err) } // 生成日志文件名 logFileName := filepath.Join(logDir, time.Now().Format("2006-01-02")+".log") // 打开日志文件 file, err := os.OpenFile(logFileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) if err != nil { return fmt.Errorf("打开日志文件失败: %w", err) } // 设置日志输出 log.SetOutput(io.MultiWriter(os.Stdout, file)) logFile = file return nil } // CloseLogger 关闭日志文件 func CloseLogger() { if logFile != nil { logFile.Close() } }