Merge pull request #1040 from cvgw/u/cvgw/more-idiomatic-logging-config

More idiomatic logging config
This commit is contained in:
Cole Wippern 2020-02-10 12:35:38 -08:00 committed by GitHub
commit 7c7d899633
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 23 deletions

View File

@ -39,13 +39,18 @@ import (
)
var (
opts = &config.KanikoOptions{}
force bool
opts = &config.KanikoOptions{}
force bool
logLevel string
logFormat string
)
func init() {
logging.AddFlags(RootCmd.PersistentFlags())
RootCmd.PersistentFlags().StringVarP(&logLevel, "verbosity", "v", logging.DefaultLevel, "Log level (debug, info, warn, error, fatal, panic")
RootCmd.PersistentFlags().StringVar(&logFormat, "log-format", logging.FormatColor, "Log format (text, color, json)")
RootCmd.PersistentFlags().BoolVarP(&force, "force", "", false, "Force building outside of a container")
addKanikoOptionsFlags()
addHiddenFlags(RootCmd)
}
@ -56,9 +61,11 @@ var RootCmd = &cobra.Command{
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
if cmd.Use == "executor" {
resolveEnvironmentBuildArgs(opts.BuildArgs, os.Getenv)
if err := logging.Configure(); err != nil {
if err := logging.Configure(logLevel, logFormat); err != nil {
return err
}
if !opts.NoPush && len(opts.Destinations) == 0 {
return errors.New("You must provide --destination, or use --no-push")
}

View File

@ -29,11 +29,15 @@ import (
)
var (
opts = &config.WarmerOptions{}
opts = &config.WarmerOptions{}
logLevel string
logFormat string
)
func init() {
logging.AddFlags(RootCmd.PersistentFlags())
RootCmd.PersistentFlags().StringVarP(&logLevel, "verbosity", "v", logging.DefaultLevel, "Log level (debug, info, warn, error, fatal, panic")
RootCmd.PersistentFlags().StringVar(&logFormat, "log-format", logging.FormatColor, "Log format (text, color, json)")
addKanikoOptionsFlags()
addHiddenFlags()
}
@ -41,9 +45,10 @@ func init() {
var RootCmd = &cobra.Command{
Use: "cache warmer",
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
if err := logging.Configure(); err != nil {
if err := logging.Configure(logLevel, logFormat); err != nil {
return err
}
if len(opts.Images) == 0 {
return errors.New("You must select at least one image to cache")
}

View File

@ -21,7 +21,6 @@ import (
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
"github.com/spf13/pflag"
)
const (
@ -36,27 +35,16 @@ const (
FormatJSON = "json"
)
var (
logLevel string
logFormat string
)
// AddFlags injects logging-related flags into the given FlagSet
func AddFlags(fs *pflag.FlagSet) {
fs.StringVarP(&logLevel, "verbosity", "v", DefaultLevel, "Log level (debug, info, warn, error, fatal, panic")
fs.StringVar(&logFormat, "log-format", FormatColor, "Log format (text, color, json)")
}
// Configure sets the logrus logging level and formatter
func Configure() error {
lvl, err := logrus.ParseLevel(logLevel)
func Configure(level, format string) error {
lvl, err := logrus.ParseLevel(level)
if err != nil {
return errors.Wrap(err, "parsing log level")
}
logrus.SetLevel(lvl)
var formatter logrus.Formatter
switch logFormat {
switch format {
case FormatText:
formatter = &logrus.TextFormatter{
DisableColors: true,
@ -68,7 +56,7 @@ func Configure() error {
case FormatJSON:
formatter = &logrus.JSONFormatter{}
default:
return fmt.Errorf("not a valid log format: %q. Please specify one of (text, color, json)", logFormat)
return fmt.Errorf("not a valid log format: %q. Please specify one of (text, color, json)", format)
}
logrus.SetFormatter(formatter)