init project
Some checks failed
CI / build (push) Failing after 8m49s

This commit is contained in:
2025-11-13 16:53:08 +08:00
commit 937a3cea60
25 changed files with 1858 additions and 0 deletions

18
config/application.yml Normal file
View File

@@ -0,0 +1,18 @@
server:
addr: :8888
metrics: true
healthz: true
readyz: true
pprof: true
logger:
# 日志存放路径,关闭控制台日志后,日志文件存放位置
# path: temp/logs
# 日志输出file文件default命令行其他命令行
stdout: default #控制台日志,启用后,不输出到文件
# 日志等级, trace, debug, info, warn, error, fatal
level: info
# 日志格式 json json格式
json: false
database:
driver: mysql
source: 'root:123456@tcp(127.0.0.1:3306)/service_http?charset=utf8&parseTime=True&loc=Local&timeout=1000ms'

46
config/config.go Normal file
View File

@@ -0,0 +1,46 @@
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")
}