func setupLogging(cfg *config) { capnslog.SetGlobalLogLevel(capnslog.INFO) if cfg.Debug { capnslog.SetGlobalLogLevel(capnslog.DEBUG) } if cfg.LogPkgLevels != "" { repoLog := capnslog.MustRepoLogger("github.com/coreos/etcd") 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) } // capnslog initially SetFormatter(NewDefaultFormatter(os.Stderr)) // where NewDefaultFormatter returns NewJournaldFormatter when syscall.Getppid() == 1 // specify 'stdout' or 'stderr' to skip journald logging even when running under systemd switch cfg.logOutput { case "stdout": capnslog.SetFormatter(capnslog.NewPrettyFormatter(os.Stdout, cfg.Debug)) case "stderr": capnslog.SetFormatter(capnslog.NewPrettyFormatter(os.Stderr, cfg.Debug)) case "default": default: plog.Panicf(`unknown log-output %q (only supports "default", "stdout", "stderr")`, cfg.logOutput) } }
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 StartLocalkube() { if Server.ShowVersion { fmt.Println("localkube version:", version.GetVersion()) os.Exit(0) } // Get the etcd logger for the api repo apiRepoLogger := capnslog.MustRepoLogger("github.com/coreos/etcd/etcdserver/api") // Set the logging level to NOTICE as there is an INFO lvl log statement that runs every few seconds -> log spam apiRepoLogger.SetRepoLogLevel(capnslog.NOTICE) // TODO: Require root SetupServer(Server) Server.StartAll() defer Server.StopAll() interruptChan := make(chan os.Signal, 1) signal.Notify(interruptChan, os.Interrupt) <-interruptChan fmt.Println("Shutting down...") }
func configureServer(cmd *cobra.Command, args []string) { if version { fmt.Printf("torusd\nVersion: %s\n", torus.Version) os.Exit(0) } switch { case debug: capnslog.SetGlobalLogLevel(capnslog.DEBUG) default: capnslog.SetGlobalLogLevel(capnslog.INFO) } if logpkg != "" { capnslog.SetGlobalLogLevel(capnslog.NOTICE) rl := capnslog.MustRepoLogger("github.com/coreos/torus") llc, err := rl.ParseLogLevelConfig(logpkg) if err != nil { fmt.Fprintf(os.Stderr, "error parsing logpkg: %s\n", err) os.Exit(1) } rl.SetLogLevel(llc) } if host != "" { httpAddress = fmt.Sprintf("%s:%d", host, port) } var ( err error size uint64 ) if strings.Contains(sizeStr, "%") { percent, err := parsePercentage(sizeStr) if err != nil { fmt.Fprintf(os.Stderr, "error parsing size %s: %s\n", sizeStr, err) os.Exit(1) } directory, _ := filepath.Abs(dataDir) size = du.NewDiskUsage(directory).Size() * percent / 100 } else { size, err = humanize.ParseBytes(sizeStr) if err != nil { fmt.Fprintf(os.Stderr, "error parsing size %s: %s\n", sizeStr, err) os.Exit(1) } } cfg = flagconfig.BuildConfigFromFlags() cfg.DataDir = dataDir cfg.StorageSize = size }
func setupLogging(cfg *config) { capnslog.SetGlobalLogLevel(capnslog.INFO) if cfg.debug { capnslog.SetGlobalLogLevel(capnslog.DEBUG) } if cfg.logPkgLevels != "" { repoLog := capnslog.MustRepoLogger("github.com/coreos/etcd") 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) } }
func configureServer(cmd *cobra.Command, args []string) { capnslog.SetGlobalLogLevel(capnslog.NOTICE) if logpkg != "" { rl := capnslog.MustRepoLogger("github.com/coreos/torus") llc, err := rl.ParseLogLevelConfig(logpkg) if err != nil { fmt.Fprintf(os.Stderr, "error parsing logpkg: %s\n", err) os.Exit(1) } rl.SetLogLevel(llc) } cfg = flagconfig.BuildConfigFromFlags() cfg.MetadataAddress = etcdAddress }
func configureServer(cmd *cobra.Command, args []string) { switch { case debug: capnslog.SetGlobalLogLevel(capnslog.DEBUG) default: capnslog.SetGlobalLogLevel(capnslog.INFO) } if logpkg != "" { capnslog.SetGlobalLogLevel(capnslog.NOTICE) rl := capnslog.MustRepoLogger("github.com/coreos/torus") llc, err := rl.ParseLogLevelConfig(logpkg) if err != nil { fmt.Fprintf(os.Stderr, "error parsing logpkg: %s\n", err) os.Exit(1) } rl.SetLogLevel(llc) } cfg = flagconfig.BuildConfigFromFlags() }
func InitializeConfig() { rl := capnslog.MustRepoLogger("github.com/ecnahc515/core") capnslog.SetFormatter(capnslog.NewStringFormatter(os.Stderr)) capnslog.SetGlobalLogLevel(capnslog.INFO) if logLevel != "" { llc, err := rl.ParseLogLevelConfig(logLevel) if err != nil { plog.Fatal(err) } rl.SetLogLevel(llc) plog.Printf("Setting log level to %s", logLevel) } // TODO move to fetch/run specifically? if coreCfg.ImageDirectory == coreos.DefaultImageDirectory { coreCfg.ImageDirectory = os.ExpandEnv(coreCfg.ImageDirectory) err := CreateDirIfNotExist(coreCfg.ImageDirectory) if err != nil { plog.Errorf("Unable to create default image directory, err: %s", err) } } }
func init() { // github.com/coreos/etcd/etcdserver/api package is too spammy, set the log level to NOTICE. capnslog.MustRepoLogger("github.com/coreos/etcd/etcdserver/api").SetRepoLogLevel(capnslog.NOTICE) }
func configureServer(cmd *cobra.Command, args []string) { if version { fmt.Printf("torusd\nVersion: %s\n", torus.Version) os.Exit(0) } switch { case debug: capnslog.SetGlobalLogLevel(capnslog.DEBUG) default: capnslog.SetGlobalLogLevel(capnslog.INFO) } if logpkg != "" { capnslog.SetGlobalLogLevel(capnslog.NOTICE) rl := capnslog.MustRepoLogger("github.com/coreos/torus") llc, err := rl.ParseLogLevelConfig(logpkg) if err != nil { fmt.Fprintf(os.Stderr, "error parsing logpkg: %s\n", err) os.Exit(1) } rl.SetLogLevel(llc) } if host != "" { httpAddress = fmt.Sprintf("%s:%d", host, port) } var err error readCacheSize, err = humanize.ParseBytes(readCacheSizeStr) if err != nil { fmt.Fprintf(os.Stderr, "error parsing read-cache-size: %s\n", err) os.Exit(1) } size, err = humanize.ParseBytes(sizeStr) if err != nil { fmt.Fprintf(os.Stderr, "error parsing size: %s\n", err) os.Exit(1) } var rl torus.ReadLevel switch readLevel { case "spread": rl = torus.ReadSpread case "seq": rl = torus.ReadSequential case "block": rl = torus.ReadBlock default: fmt.Fprintf(os.Stderr, "invalid readlevel; use one of 'spread', 'seq', or 'block'") os.Exit(1) } var wl torus.WriteLevel switch writeLevel { case "all": wl = torus.WriteAll case "one": wl = torus.WriteOne case "local": wl = torus.WriteLocal default: fmt.Fprintf(os.Stderr, "invalid writelevel; use one of 'one', 'all', or 'local'") os.Exit(1) } cfg = torus.Config{ DataDir: dataDir, StorageSize: size, MetadataAddress: etcdAddress, ReadCacheSize: readCacheSize, WriteLevel: wl, ReadLevel: rl, } }