func main() { rand.Seed(time.Now().UTC().UnixNano()) sigQuitThreadDump() var logLevel string var version bool var oneshot bool rootCmd := &cobra.Command{ Use: "synapse config.yml", PersistentPreRun: func(cmd *cobra.Command, args []string) { if version { fmt.Println("Synapse") fmt.Println("Version :", Version) fmt.Println("Build Time :", BuildTime) os.Exit(0) } if logLevel != "" { level, err := logs.ParseLevel(logLevel) if err != nil { logs.WithField("value", logLevel).Fatal("Unknown log level") } logs.SetLevel(level) } }, Run: func(cmd *cobra.Command, args []string) { if len(args) != 1 { logs.Fatal("Synapse require a configuration file as argument") } synapse, err := LoadConfig(args[0]) if err != nil { logs.WithE(err).Fatal("Cannot start, failed to load configuration") } if err := synapse.Init(Version, BuildTime, logLevel != ""); err != nil { logs.WithE(err).Fatal("Failed to init synapse") } if err := synapse.Start(oneshot); err != nil { logs.WithE(err).Fatal("Failed to start synapse") } waitForSignal() synapse.Stop() }, } rootCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "L", "", "Set log level") rootCmd.PersistentFlags().BoolVarP(&version, "version", "V", false, "Display version") //rootCmd.PersistentFlags().BoolVarP(&oneshot, "oneshot", "O", false, "run watchers/router only once and exit") if err := rootCmd.Execute(); err != nil { logs.WithE(err).Fatal("Failed to process args") } }
func main() { rand.Seed(time.Now().UTC().UnixNano()) sigQuitThreadDump() var logLevel string var version bool rootCmd := &cobra.Command{ Use: "nerve config.yml", PersistentPreRun: func(cmd *cobra.Command, args []string) { if version { fmt.Println("Nerve") fmt.Println("Version :", Version) fmt.Println("Build Time :", BuildTime) os.Exit(0) } if logLevel != "" { level, err := logs.ParseLevel(logLevel) if err != nil { logs.WithField("value", logLevel).Fatal("Unknown log level") } logs.SetLevel(level) } }, Run: func(cmd *cobra.Command, args []string) { if len(args) != 1 { logs.Fatal("Nerve require a configuration file as argument") } nerve, err := LoadConfig(args[0]) if err != nil { logs.WithE(err).Fatal("Cannot start, failed to load configuration") } if err := nerve.Init(Version, BuildTime, logLevel != ""); err != nil { logs.WithE(err).Fatal("Failed to init nerve") } startStatus := make(chan error) go nerve.Start(startStatus) if status := <-startStatus; status != nil { logs.WithE(status).Fatal("Failed to start nerve") } waitForSignal() nerve.Stop() }, } rootCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "L", "", "Set log level") rootCmd.PersistentFlags().BoolVarP(&version, "version", "V", false, "Display version") if err := rootCmd.Execute(); err != nil { logs.WithE(err).Fatal("Failed to process args") } }
func Execute() { var version bool var homePath string var targetRootPath string var logLevel string var rootCmd = &cobra.Command{ Use: "dgr", Run: func(cmd *cobra.Command, args []string) { cmd.Help() os.Exit(1) }, PersistentPreRun: func(cmd *cobra.Command, args []string) { if version { displayVersionAndExit() } level, err := logs.ParseLevel(logLevel) if err != nil { fmt.Printf("Unknown log level : %s", logLevel) os.Exit(1) } logs.SetLevel(level) Home = NewHome(homePath) if targetRootPath != "" { Home.Config.TargetWorkDir = targetRootPath } }, } //rootCmd.PersistentFlags().BoolVarP(&Args.Clean, "clean", "c", false, "Clean before doing anything") rootCmd.PersistentFlags().StringVarP(&targetRootPath, "targets-root-path", "p", "", "Set targets root path") rootCmd.PersistentFlags().StringVarP(&logLevel, "loglevel", "L", "info", "Set log level") rootCmd.PersistentFlags().StringVar(&logLevel, "log-level", "info", "Set log level") rootCmd.PersistentFlags().StringVarP(&homePath, "home-path", "H", DefaultHomeFolder(""), "Set home folder") rootCmd.PersistentFlags().StringVarP(&workPath, "work-path", "W", ".", "Set the work path") rootCmd.PersistentFlags().BoolVarP(&version, "version", "V", false, "Display dgr version") rootCmd.PersistentFlags().Var(&Args.SetEnv, "set-env", "Env passed to builder scripts") rootCmd.PersistentFlags().BoolVar(&Args.StoreOnly, "store-only", false, "Tell rkt to use the store only") rootCmd.PersistentFlags().BoolVar(&Args.NoStore, "no-store", false, "Tell rkt to not use store") rootCmd.PersistentFlags().BoolVarP(&Args.SerialBuild, "serial", "S", false, "Run build in serial (disable parallel builds)") rootCmd.AddCommand(buildCmd, cleanCmd, pushCmd, installCmd, testCmd, versionCmd, initCmd, graphCmd, tryCmd /*signCmd,*/, aciVersion) readEnvironment() rootCmd.Execute() logs.Debug("Victory !") }
func Execute() { checkRktVersion() var logLevel string var rootCmd = &cobra.Command{ Use: "cnt", } var homePath string var targetRootPath string rootCmd.PersistentFlags().BoolVarP(&buildArgs.Clean, "clean", "c", false, "Clean before doing anything") rootCmd.PersistentFlags().StringVarP(&targetRootPath, "targets-root-path", "p", "", "Set targets root path") rootCmd.PersistentFlags().StringVarP(&logLevel, "loglevel", "L", "info", "Set log level") rootCmd.PersistentFlags().StringVarP(&homePath, "home-path", "H", cnt.DefaultHomeFolder(), "Set home folder") rootCmd.PersistentFlags().StringVarP(&workPath, "work-path", "W", ".", "Set the work path") rootCmd.AddCommand(buildCmd, cleanCmd, pushCmd, installCmd, testCmd, versionCmd, initCmd /*updateCmd,*/, graphCmd, aciVersion) rootCmd.PersistentPreRun = func(cmd *cobra.Command, args []string) { // logs level, err := logs.ParseLevel(logLevel) if err != nil { fmt.Printf("Unknown log level : %s", logLevel) os.Exit(1) } logs.SetLevel(level) cnt.Home = cnt.NewHome(homePath) // targetRootPath if targetRootPath != "" { cnt.Home.Config.TargetWorkDir = targetRootPath } } // // if config.GetConfig().TargetWorkDir != "" { // buildArgs.TargetsRootPath = config.GetConfig().TargetWorkDir // } rootCmd.Execute() logs.Debug("Victory !") }
func main() { logs.GetDefaultLog().(*erlog.ErlogLogger).Appenders[0].(*erlog.ErlogWriterAppender).Out = os.Stdout overrideEnvVarName := "" target := "/" var templateDir string logLvl := "INFO" processArgs(&overrideEnvVarName, &target, &templateDir, &logLvl) lvl, err := logs.ParseLevel(logLvl) if err != nil { fmt.Println("Wrong log level : " + logLvl) os.Exit(1) } logs.SetLevel(lvl) Run(overrideEnvVarName, target, templateDir) }
func ProcessArgsAndReturnPodUUID() *types.UUID { flag.Parse() if cliDebugFlag { logs.SetLevel(logs.DEBUG) } if lvlStr := os.Getenv(common.EnvLogLevel); lvlStr != "" { lvl, err := logs.ParseLevel(lvlStr) if err != nil { fmt.Printf("Unknown log level : %s", lvlStr) os.Exit(1) } logs.SetLevel(lvl) } arg := flag.Arg(0) uuid, err := types.NewUUID(arg) if err != nil { logs.WithE(err).WithField("content", arg).Fatal("UUID is missing or malformed") } return uuid }