mirror of
https://github.com/nabbar/golib.git
synced 2025-12-24 11:51:02 +08:00
Package Logger:
- Rework logger - Remove deprecated functions - Split Logger to sub package (fields, level, config, ...) - Optimize dependencies - Rework Hookfile: fix error like FD still opened - Rework Hooksyslog: use same model like Hookfile, use network/protocol instead of self lib - Rework HookStd: use independent hook for std out & std err - Fix std config make generic options for files & syslog - Apply formatter to hook instead of main logger entry - optimize code Package ioutils: - rework PathCheckCreate funct: optimize code & fix some error Package Network: - create sub package protocol for all network protocl use - add encode function Package httpcli: - remove file network - use package network/protocol instead of network file Package archive: - apply change following rework of logger Package aws: - apply change following rework of logger Package cluster: - apply change following rework of logger Package cobra: - apply change following rework of logger Package Config Component: - apply change following rework of logger to component log - fix logger for monitoring - fix component following fix of package request / monitoring Package context: - apply change following rework of logger Package database: - apply change following rework of logger Package httpserver: - apply change following rework of logger Package ldap: - apply change following rework of logger Package monitor: - apply change following rework of logger - fix logger for monitoring - fix minor bugs Package nats: - apply change following rework of logger Package nutsdb: - apply change following rework of logger Package request: - apply change following rework of logger - fix minor bug - fix missing logger for monitoring - add one line for healthcheck (info or error) Package router: - apply change following rework of logger Package static: - apply change following rework of logger Package status: - apply change following rework of logger - fix bug with mandatory component Package viper: - apply change following rework of logger Other: - bump dependencies - github action workflow fix
This commit is contained in:
@@ -29,6 +29,7 @@ package ioutils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
@@ -36,21 +37,28 @@ import (
|
||||
func PathCheckCreate(isFile bool, path string, permFile os.FileMode, permDir os.FileMode) error {
|
||||
if inf, err := os.Stat(path); err != nil && !errors.Is(err, os.ErrNotExist) {
|
||||
return err
|
||||
} else if err == nil {
|
||||
if inf.IsDir() {
|
||||
} else if err == nil && inf.IsDir() {
|
||||
if isFile {
|
||||
return fmt.Errorf("path '%s' still exising but is a directory", path)
|
||||
}
|
||||
if inf.Mode() != permDir {
|
||||
_ = os.Chmod(path, permDir)
|
||||
} else {
|
||||
}
|
||||
return nil
|
||||
} else if err == nil && !inf.IsDir() {
|
||||
if !isFile {
|
||||
return fmt.Errorf("path '%s' still exising but is not a directory", path)
|
||||
}
|
||||
if inf.Mode() != permFile {
|
||||
_ = os.Chmod(path, permFile)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
if !isFile {
|
||||
} else if !isFile {
|
||||
return os.MkdirAll(path, permDir)
|
||||
} else if e := PathCheckCreate(false, filepath.Dir(path), permFile, permDir); e != nil {
|
||||
return e
|
||||
} else if hf, err := os.Create(path); err != nil {
|
||||
} else if err = PathCheckCreate(false, filepath.Dir(path), permFile, permDir); err != nil {
|
||||
return err
|
||||
} else if hf, e := os.Create(path); e != nil {
|
||||
return e
|
||||
} else {
|
||||
_ = hf.Close()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user