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) }
func newLogger(c *Context) (log15.Logger, error) { lvl := c.String(FlagLogLevel) l := log15.New() log.Println(fmt.Sprintf("Using log level %s", lvl)) v, err := log15.LvlFromString(lvl) if err != nil { return l, err } h := log15.LvlFilterHandler(v, log15.StreamHandler(os.Stdout, log15.LogfmtFormat())) if lvl == "debug" { h = log15.CallerFileHandler(h) } l.SetHandler(log15.LazyHandler(h)) return l, err }
// New creates a new server func New(debug bool, maxPlayers int) *Server { // New server s := &Server{ MaxPlayers: maxPlayers, NumConnectedPlayers: 0, ConnectedPlayers: make(map[int]*Player), Sim: simulation.New(560, 560), } // Debug flag if debug { log15.Root().SetHandler(log15.CallerFileHandler(log15.StdoutHandler)) } return s }