func Run(mods ...module.Module) { // logger if conf.LogLevel != "" { logger, err := log.New(conf.LogLevel, conf.LogPath) if err != nil { panic(err) } log.Export(logger) defer logger.Close() } log.Release("Leaf %v starting up", version) // module for i := 0; i < len(mods); i++ { module.Register(mods[i]) } module.Init() // cluster cluster.Init() // console console.Init() // close c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt, os.Kill) sig := <-c log.Release("Leaf closing down (signal: %v)", sig) console.Destroy() cluster.Destroy() module.Destroy() }
func Example() { name := "Leaf" log.Debug("My name is %v", name) log.Release("My name is %v", name) log.Error("My name is %v", name) // log.Fatal("My name is %v", name) logger, err := log.New("release", "") if err != nil { return } defer logger.Close() logger.Debug("will not print") logger.Release("My name is %v", name) log.Export(logger) log.Debug("will not print") log.Release("My name is %v", name) }