36 lines
588 B
Go
36 lines
588 B
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/pelletier/go-toml/v2"
|
|
"github.com/rs/zerolog"
|
|
"github.com/rs/zerolog/log"
|
|
)
|
|
|
|
// Parse config file
|
|
func Parse(content []byte) *Config {
|
|
// Store config
|
|
var cfg *Config
|
|
|
|
// Unmarshal toml
|
|
err := toml.Unmarshal(content, &cfg)
|
|
if err != nil {
|
|
log.Panic().Msg(err.Error())
|
|
}
|
|
|
|
return cfg
|
|
}
|
|
|
|
// Setup logger
|
|
func SetupLogger(cfg *Config) {
|
|
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stdout})
|
|
|
|
level, err := zerolog.ParseLevel(cfg.Log.Level)
|
|
if err != nil {
|
|
log.Panic().Msg(err.Error())
|
|
}
|
|
|
|
zerolog.SetGlobalLevel(level)
|
|
}
|