WeChatFerry/clients/gohttp/args/unmarshal.go

46 lines
677 B
Go
Raw Normal View History

2023-12-17 13:16:15 +08:00
package args
import (
"os"
"github.com/knadh/koanf/providers/confmap"
"github.com/opentdp/go-helper/logman"
)
func (c *Config) Unmarshal() {
// 读取默认配置
mp := map[string]any{
"httpd": &Httpd,
2024-01-10 09:59:47 +08:00
"logger": &Logger,
2023-12-17 13:16:15 +08:00
"wcf": &Wcf,
}
c.Koanf.Load(confmap.Provider(mp, "."), nil)
// 读取配置文件
c.ReadYaml()
for k, v := range mp {
c.Koanf.Unmarshal(k, v)
}
// 初始化日志
if Logger.Dir != "" && Logger.Dir != "." {
os.MkdirAll(Logger.Dir, 0755)
}
logman.SetDefault(&logman.Config{
Level: Logger.Level,
Target: Logger.Target,
Storage: Logger.Dir,
2024-01-10 09:59:47 +08:00
Filename: "wrest",
2023-12-17 13:16:15 +08:00
})
// 写入配置文件
c.WriteYaml()
}