func main() { rl := capnslog.MustRepoLogger("github.com/coreos/pkg/capnslog/cmd") // We can parse the log level configs from the command line flag.Parse() if flag.NArg() > 1 { cfg, err := rl.ParseLogLevelConfig(flag.Arg(1)) if err != nil { log.Fatal(err) } rl.SetLogLevel(cfg) log.Infof("Setting output to %s", flag.Arg(1)) } // Send some messages at different levels to the different packages dlog.Infof("Hello Dolly") dlog.Warningf("Well hello, Dolly") log.Errorf("It's so nice to have you back where you belong") dlog.Debugf("You're looking swell, Dolly") dlog.Tracef("I can tell, Dolly") // We also have control over the built-in "log" package. capnslog.SetGlobalLogLevel(logLevel) oldlog.Println("You're still glowin', you're still crowin', you're still lookin' strong") log.Fatalf("Dolly'll never go away again") }
func setupLogging(cfg *Config) { capnslog.SetGlobalLogLevel(capnslog.INFO) if cfg.debug { capnslog.SetGlobalLogLevel(capnslog.DEBUG) } if cfg.logPkgLevels != "" { repoLog := capnslog.MustRepoLogger("github.com/ainoya/fune") settings, err := repoLog.ParseLogLevelConfig(cfg.logPkgLevels) if err != nil { plog.Warningf("couldn't parse log level string: %s, continuing with default levels", err.Error()) return } repoLog.SetLogLevel(settings) } }