Files
service-http/config/config.go
lwnmengjing 937a3cea60
Some checks failed
CI / build (push) Failing after 8m49s
init project
2025-11-13 16:53:08 +08:00

47 lines
985 B
Go

package config
import (
"log/slog"
"os"
"github.com/mss-boot-io/mss-boot/pkg/config"
"github.com/mss-boot-io/mss-boot/pkg/config/gormdb"
"github.com/mss-boot-io/mss-boot/pkg/config/source"
)
/*
* @Author: lwnmengjing<lwnmengjing@qq.com>
* @Date: 2023/10/31 16:37:31
* @Last Modified by: lwnmengjing<lwnmengjing@qq.com>
* @Last Modified time: 2023/10/31 16:37:31
*/
var Cfg Config
type Config struct {
Server config.Listen `yaml:"server" json:"server"`
Database *gormdb.Database `yaml:"database" json:"database"`
Logger config.Logger `yaml:"logger" json:"logger"`
}
func (e *Config) Init() {
opts := []source.Option{
source.WithDir("config"),
source.WithProvider(source.Local),
}
err := config.Init(e, opts...)
if err != nil {
slog.Error("Config init failed", slog.Any("err", err))
os.Exit(-1)
}
e.Logger.Init()
e.Database.Init()
}
func (e *Config) OnChange() {
e.Logger.Init()
e.Database.Init()
slog.Info("!!! cfg change and reload")
}