From 41a95fe4bdef2ee4addde369a801c2f7f1db9321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Henrik=20Bj=C3=B8rnstad?= Date: Thu, 23 Apr 2020 13:40:47 +0200 Subject: [PATCH] Add timestamp to logs --- Makefile | 4 ++-- cmd/executor/cmd/root.go | 12 +++++++----- cmd/warmer/cmd/root.go | 10 ++++++---- pkg/logging/logging.go | 8 ++++++-- 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index cc49c7323..b26393141 100644 --- a/Makefile +++ b/Makefile @@ -89,8 +89,8 @@ integration-test-misc: .PHONY: images images: docker build ${BUILD_ARG} --build-arg=GOARCH=$(GOARCH) -t $(REGISTRY)/executor:latest -f deploy/Dockerfile . - docker build ${BUILD_ARG} --build-arg=GOARCH=$(GOARCH) -t $(REGISTRY)/executor:debug -f deploy/Dockerfile_debug . - docker build ${BUILD_ARG} --build-arg=GOARCH=$(GOARCH) -t $(REGISTRY)/warmer:latest -f deploy/Dockerfile_warmer . +# docker build ${BUILD_ARG} --build-arg=GOARCH=$(GOARCH) -t $(REGISTRY)/executor:debug -f deploy/Dockerfile_debug . +# docker build ${BUILD_ARG} --build-arg=GOARCH=$(GOARCH) -t $(REGISTRY)/warmer:latest -f deploy/Dockerfile_warmer . .PHONY: push push: diff --git a/cmd/executor/cmd/root.go b/cmd/executor/cmd/root.go index ff198060d..fc2caa921 100644 --- a/cmd/executor/cmd/root.go +++ b/cmd/executor/cmd/root.go @@ -39,15 +39,17 @@ import ( ) var ( - opts = &config.KanikoOptions{} - force bool - logLevel string - logFormat string + opts = &config.KanikoOptions{} + force bool + logLevel string + logFormat string + logTimestamp bool ) func init() { 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().BoolVar(&logTimestamp, "log-timestamp", logging.DefaultLogTimestamp, "Timestamp in log output") RootCmd.PersistentFlags().BoolVarP(&force, "force", "", false, "Force building outside of a container") @@ -62,7 +64,7 @@ var RootCmd = &cobra.Command{ if cmd.Use == "executor" { resolveEnvironmentBuildArgs(opts.BuildArgs, os.Getenv) - if err := logging.Configure(logLevel, logFormat); err != nil { + if err := logging.Configure(logLevel, logFormat, logTimestamp); err != nil { return err } diff --git a/cmd/warmer/cmd/root.go b/cmd/warmer/cmd/root.go index 9bbd08e21..7c6606f9a 100644 --- a/cmd/warmer/cmd/root.go +++ b/cmd/warmer/cmd/root.go @@ -29,14 +29,16 @@ import ( ) var ( - opts = &config.WarmerOptions{} - logLevel string - logFormat string + opts = &config.WarmerOptions{} + logLevel string + logFormat string + logTimestamp bool ) func init() { 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().BoolVar(&logTimestamp, "log-timestamp", logging.DefaultLogTimestamp, "Timestamp in log output") addKanikoOptionsFlags() addHiddenFlags() @@ -45,7 +47,7 @@ func init() { var RootCmd = &cobra.Command{ Use: "cache warmer", PersistentPreRunE: func(cmd *cobra.Command, args []string) error { - if err := logging.Configure(logLevel, logFormat); err != nil { + if err := logging.Configure(logLevel, logFormat, logTimestamp); err != nil { return err } diff --git a/pkg/logging/logging.go b/pkg/logging/logging.go index 9a475cb29..35d147b41 100644 --- a/pkg/logging/logging.go +++ b/pkg/logging/logging.go @@ -26,6 +26,8 @@ import ( const ( // Default log level DefaultLevel = "info" + // Default timestamp in logs + DefaultLogTimestamp = false // Text format FormatText = "text" @@ -36,7 +38,7 @@ const ( ) // Configure sets the logrus logging level and formatter -func Configure(level, format string) error { +func Configure(level, format string, logTimestamp bool) error { lvl, err := logrus.ParseLevel(level) if err != nil { return errors.Wrap(err, "parsing log level") @@ -48,10 +50,12 @@ func Configure(level, format string) error { case FormatText: formatter = &logrus.TextFormatter{ DisableColors: true, + FullTimestamp: logTimestamp, } case FormatColor: formatter = &logrus.TextFormatter{ - ForceColors: true, + ForceColors: true, + FullTimestamp: logTimestamp, } case FormatJSON: formatter = &logrus.JSONFormatter{}