func getLogFormat(format string) log15.Format { switch format { case "console": if term.IsTty(os.Stdout.Fd()) { return log15.TerminalFormat() } return log15.LogfmtFormat() case "text": return log15.LogfmtFormat() case "json": return log15.JsonFormat() default: return log15.LogfmtFormat() } }
func init() { Log = log.New() var handler log.Handler env := config.Viper.GetString("env") lvl, err := log.LvlFromString(config.Viper.GetString("LogLevel")) if err != nil { panic("Could not read configuration for LogLevel, check the 'config-" + env + ".json' file: " + err.Error()) } if env == "dev" || env == "qa" { handler = logext.FatalHandler(log.LvlFilterHandler(lvl, log.CallerFileHandler(log.StdoutHandler))) } else { handler = logext.FatalHandler(log.LvlFilterHandler(lvl, log.CallerFileHandler(log.StreamHandler(os.Stdout, log.JsonFormat())))) } Log.SetHandler(handler) }