48 lines
915 B
Go
48 lines
915 B
Go
|
package config
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"os"
|
||
|
|
||
|
"git.pyer.club/kingecg/gologger"
|
||
|
)
|
||
|
|
||
|
type ServerConfig struct {
|
||
|
Host string `json:"host"`
|
||
|
Port int `json:"port"`
|
||
|
Logging gologger.LoggersConfig `json:"logging"`
|
||
|
}
|
||
|
|
||
|
var config ServerConfig = ServerConfig{
|
||
|
Host: "0.0.0.0",
|
||
|
Port: 8080,
|
||
|
Logging: gologger.LoggersConfig{
|
||
|
Appenders: map[string]gologger.LogAppenderConfig{
|
||
|
"out": gologger.LogAppenderConfig{
|
||
|
Type: "console",
|
||
|
},
|
||
|
},
|
||
|
Categories: map[string]gologger.LogConfig{
|
||
|
"default": {
|
||
|
Level: "debug",
|
||
|
Appenders: []string{"out"},
|
||
|
}},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
func LoadConfig(configFile string) {
|
||
|
// read config gile content and parse it as json
|
||
|
configContent, err := os.ReadFile(configFile)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
err = json.Unmarshal(configContent, &config)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func GetConfig() *ServerConfig {
|
||
|
return &config
|
||
|
}
|