configure loggers

This commit is contained in:
Mike Bloy 2022-05-27 19:08:40 -05:00
parent 75fed60d8d
commit cfc54676d9

View File

@ -4,6 +4,7 @@ import (
"fmt" "fmt"
"log" "log"
"os" "os"
"strings"
"git.bloy.org/mike/hasshelper/web" "git.bloy.org/mike/hasshelper/web"
"github.com/rs/zerolog" "github.com/rs/zerolog"
@ -20,12 +21,22 @@ var rootCmd = &cobra.Command{
} }
func rootCmdRun(cmd *cobra.Command, args []string) { func rootCmdRun(cmd *cobra.Command, args []string) {
var logger = zerolog.New(os.Stderr).With().Timestamp().Logger() logLevel, err := zerolog.ParseLevel(viper.GetString("loglevel"))
var err error zerolog.SetGlobalLevel(logLevel)
if err != nil { if err != nil {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
os.Exit(1) os.Exit(1)
} }
var logger zerolog.Logger
if viper.GetString("deployment") == "prod" {
logger = zerolog.New(os.Stderr)
} else {
logger = zerolog.New(zerolog.ConsoleWriter{
Out: os.Stdout,
FormatLevel: func(i interface{}) string { return strings.ToUpper(fmt.Sprintf("%-6s|", i)) },
})
}
logger = logger.With().Timestamp().Caller().Logger()
logger.Info().Str("version", viper.GetString("version")).Msg("HASSHelper startup") logger.Info().Str("version", viper.GetString("version")).Msg("HASSHelper startup")
exitchan := make(chan bool) exitchan := make(chan bool)
web.Run(logger, exitchan) web.Run(logger, exitchan)
@ -57,6 +68,7 @@ func init() {
viper.SetEnvPrefix("hasshelper") viper.SetEnvPrefix("hasshelper")
viper.Set("version", gitVersion) viper.Set("version", gitVersion)
viper.SetDefault("deployment", "prod") viper.SetDefault("deployment", "prod")
viper.SetDefault("loglevel", "info")
} }
func initConfig() { func initConfig() {