| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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
- }
|