package servicelib import ( "os" "path/filepath" "hnyfkj.com.cn/rtu/linux/baseapp" ) const defaultLogConfig = `[Log] ; 日志级别: trace、debug、info、warn、error、fatal、panic Level = info ; 输出目标: console(控制台)、file(文件)、all(控制台+文件) Target = all ; 每个日志文件的最大大下, 以"MB"为单位 MaxFileSize = 5 ; 保留的最大备份文件数量 MaxBackupFileCnts = 1 ` func EnsureDefaultLogConfig() (string, error) { cfgFile := filepath.Join( baseapp.CFG_DIR, "config.ini", ) if err := os.MkdirAll( baseapp.CFG_DIR, 0755, ); err != nil { return "", err } f, err := os.OpenFile( cfgFile, os.O_CREATE|os.O_EXCL|os.O_WRONLY, 0644, ) if err != nil { if os.IsExist(err) { return cfgFile, nil } return "", err } if _, err = f.WriteString(defaultLogConfig); err != nil { _ = f.Close() _ = os.Remove(cfgFile) return "", err } if err = f.Sync(); err != nil { _ = f.Close() _ = os.Remove(cfgFile) return "", err } if err = f.Close(); err != nil { _ = os.Remove(cfgFile) return "", err } return cfgFile, nil }