gopay/internal/config/parse.go

36 lines
588 B
Go
Raw Normal View History

2024-06-02 11:57:14 +00:00
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)
}