Added config, added logging
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/rs/zerolog/log"
|
||||
"gopkg.in/yaml.v2"
|
||||
|
||||
// My modules
|
||||
"homelab.lan/music-agregator/internal/config"
|
||||
)
|
||||
|
||||
func main() {
|
||||
log.Logger = zerolog.New(zerolog.ConsoleWriter{Out: os.Stderr}).
|
||||
With().Timestamp().Logger()
|
||||
router := gin.Default()
|
||||
|
||||
configPath := flag.String("config", "", "Path to the config file")
|
||||
flag.Parse()
|
||||
|
||||
cfg, err := parseConfig(configPath)
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("Failed to load config")
|
||||
}
|
||||
log.Info().Interface("config", cfg).Msg("Loaded config")
|
||||
|
||||
router.GET("/ping", func(c *gin.Context) {
|
||||
c.JSON(200, gin.H{
|
||||
"message": "pong",
|
||||
})
|
||||
})
|
||||
|
||||
router.Run()
|
||||
|
||||
}
|
||||
|
||||
func parseConfig(path *string) (config.Config, error) {
|
||||
f, err := os.Open(*path)
|
||||
if err != nil {
|
||||
log.Error().Str("path", *path).Msg("Unable to opent config by path")
|
||||
return config.Config{}, err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
var cfg config.Config
|
||||
decoder := yaml.NewDecoder(f)
|
||||
err = decoder.Decode(&cfg)
|
||||
if err != nil {
|
||||
// processError(err)
|
||||
}
|
||||
|
||||
return cfg, nil
|
||||
}
|
||||
Reference in New Issue
Block a user