From 9a7848a1428632fed76a643f09fa939586361dfb Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Sun, 6 Aug 2023 14:27:30 +0800 Subject: [PATCH] change: update logs --- examples/worldcup/cli.go | 4 --- hrp/cmd/root.go | 55 +++++++++++++++++++++++++++-- hrp/logger.go | 56 ------------------------------ hrp/pkg/uixt/android_adb_driver.go | 2 +- hrp/pkg/uixt/opencv.go | 6 ++-- hrp/pkg/uixt/service_vedem.go | 12 +++---- hrp/runner.go | 2 ++ 7 files changed, 65 insertions(+), 72 deletions(-) delete mode 100644 hrp/logger.go diff --git a/examples/worldcup/cli.go b/examples/worldcup/cli.go index 38ea1829..0950f63d 100644 --- a/examples/worldcup/cli.go +++ b/examples/worldcup/cli.go @@ -7,7 +7,6 @@ import ( "github.com/rs/zerolog/log" "github.com/spf13/cobra" - "github.com/httprunner/httprunner/v4/hrp" "github.com/httprunner/httprunner/v4/hrp/pkg/uixt" ) @@ -15,9 +14,6 @@ var rootCmd = &cobra.Command{ Use: "wcl", Short: "Monitor FIFA World Cup Live", Version: "2022.12.03.0018", - PreRun: func(cmd *cobra.Command, args []string) { - hrp.InitLogger("INFO", false) - }, RunE: func(cmd *cobra.Command, args []string) error { var device uixt.Device var bundleID string diff --git a/hrp/cmd/root.go b/hrp/cmd/root.go index 4b5deb98..cf8c4e82 100644 --- a/hrp/cmd/root.go +++ b/hrp/cmd/root.go @@ -1,9 +1,16 @@ package cmd import ( + "os" + "runtime" + "strings" + "time" + + "github.com/rs/zerolog" + "github.com/rs/zerolog/log" + "github.com/rs/zerolog/pkgerrors" "github.com/spf13/cobra" - "github.com/httprunner/httprunner/v4/hrp" "github.com/httprunner/httprunner/v4/hrp/cmd/adb" "github.com/httprunner/httprunner/v4/hrp/cmd/ios" "github.com/httprunner/httprunner/v4/hrp/internal/code" @@ -31,7 +38,7 @@ Website: https://httprunner.com Github: https://github.com/httprunner/httprunner Copyright 2017 debugtalk`, PersistentPreRun: func(cmd *cobra.Command, args []string) { - hrp.InitLogger(logLevel, logJSON) + initLogger(logLevel, logJSON) }, Version: version.VERSION, TraverseChildren: true, // parses flags on all parents before executing child command @@ -57,3 +64,47 @@ func Execute() int { err := rootCmd.Execute() return code.GetErrorCode(err) } + +func initLogger(logLevel string, logJSON bool) { + // Error Logging with Stacktrace + zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack + + if !logJSON { + // log a human-friendly, colorized output + noColor := false + if runtime.GOOS == "windows" { + noColor = true + } + + log.Logger = zerolog.New( + zerolog.ConsoleWriter{ + Out: os.Stderr, + TimeFormat: time.RFC3339, + NoColor: noColor, + }, + ).With().Timestamp().Logger() + log.Info().Msg("log with colorized console") + } else { + // default logger + log.Info().Msg("log with json output") + log.Logger = zerolog.New(os.Stderr).With().Timestamp().Logger() + } + + // Setting Global Log Level + level := strings.ToUpper(logLevel) + log.Info().Str("log_level", level).Msg("set global log level") + switch level { + case "DEBUG": + zerolog.SetGlobalLevel(zerolog.DebugLevel) + case "INFO": + zerolog.SetGlobalLevel(zerolog.InfoLevel) + case "WARN": + zerolog.SetGlobalLevel(zerolog.WarnLevel) + case "ERROR": + zerolog.SetGlobalLevel(zerolog.ErrorLevel) + case "FATAL": + zerolog.SetGlobalLevel(zerolog.FatalLevel) + case "PANIC": + zerolog.SetGlobalLevel(zerolog.PanicLevel) + } +} diff --git a/hrp/logger.go b/hrp/logger.go deleted file mode 100644 index cc44f373..00000000 --- a/hrp/logger.go +++ /dev/null @@ -1,56 +0,0 @@ -package hrp - -import ( - "os" - "runtime" - "strings" - "time" - - "github.com/rs/zerolog" - "github.com/rs/zerolog/log" - "github.com/rs/zerolog/pkgerrors" -) - -func InitLogger(logLevel string, logJSON bool) { - // Error Logging with Stacktrace - zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack - - if !logJSON { - // log a human-friendly, colorized output - noColor := false - if runtime.GOOS == "windows" { - noColor = true - } - - log.Logger = log.Output( - zerolog.ConsoleWriter{ - Out: os.Stderr, - TimeFormat: time.RFC3339, - NoColor: noColor, - }, - ) - log.Info().Msg("log with colorized console") - } else { - log.Info().Msg("log with json output") - // default logger: - // zerolog.New(os.Stderr).With().Timestamp().Logger() - } - - // Setting Global Log Level - level := strings.ToUpper(logLevel) - log.Info().Str("log_level", level).Msg("set global log level") - switch level { - case "DEBUG": - zerolog.SetGlobalLevel(zerolog.DebugLevel) - case "INFO": - zerolog.SetGlobalLevel(zerolog.InfoLevel) - case "WARN": - zerolog.SetGlobalLevel(zerolog.WarnLevel) - case "ERROR": - zerolog.SetGlobalLevel(zerolog.ErrorLevel) - case "FATAL": - zerolog.SetGlobalLevel(zerolog.FatalLevel) - case "PANIC": - zerolog.SetGlobalLevel(zerolog.PanicLevel) - } -} diff --git a/hrp/pkg/uixt/android_adb_driver.go b/hrp/pkg/uixt/android_adb_driver.go index ed91b407..4577c104 100644 --- a/hrp/pkg/uixt/android_adb_driver.go +++ b/hrp/pkg/uixt/android_adb_driver.go @@ -73,7 +73,7 @@ func (ad *adbDriver) WindowSize() (size Size, err error) { var resolution string sizeList := strings.Split(output, "\n") - log.Info().Msgf("window size: %v", sizeList) + log.Trace().Msgf("window size: %v", sizeList) for _, size := range sizeList { if strings.Contains(size, matchedSizeType) { resolution = strings.Split(size, ": ")[1] diff --git a/hrp/pkg/uixt/opencv.go b/hrp/pkg/uixt/opencv.go index 75c1d0ca..c72480df 100644 --- a/hrp/pkg/uixt/opencv.go +++ b/hrp/pkg/uixt/opencv.go @@ -8,11 +8,11 @@ import ( "image" "image/color" "io/ioutil" - "log" "math" "os" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "gocv.io/x/gocv" "github.com/httprunner/httprunner/v4/hrp/internal/builtin" @@ -409,14 +409,14 @@ func getMatchingLocation(matImage gocv.Mat, matTpl gocv.Mat, threshold float32, val, loc = getValLoc(minVal, maxVal, minLoc, maxLoc, matchMode) if debug == DmEachMatch { - log.Println(fmt.Sprintf(dmOutputMsg, val, threshold)) + log.Debug().Msg(fmt.Sprintf(dmOutputMsg, val, threshold)) } if val >= threshold { return loc, nil } else { if debug == DmNotMatch { - log.Println(fmt.Sprintf(dmOutputMsg, val, threshold)) + log.Debug().Msg(fmt.Sprintf(dmOutputMsg, val, threshold)) } return image.Point{}, errors.New("no such target search image") } diff --git a/hrp/pkg/uixt/service_vedem.go b/hrp/pkg/uixt/service_vedem.go index b4d3ed41..3b2b36af 100644 --- a/hrp/pkg/uixt/service_vedem.go +++ b/hrp/pkg/uixt/service_vedem.go @@ -170,12 +170,12 @@ func newVEDEMImageService() (*veDEMImageService, error) { // veDEMImageService implements IImageService interface // actions: // -// ocr - get ocr texts -// upload - get image uploaded url -// liveType - get live type -// popup - get popup windows -// close - get close popup -// ui - get ui position by type(s) +// ocr - get ocr texts +// upload - get image uploaded url +// liveType - get live type +// popup - get popup windows +// close - get close popup +// ui - get ui position by type(s) type veDEMImageService struct{} type ( actionOptions []string diff --git a/hrp/runner.go b/hrp/runner.go index 6cf0031b..e393f043 100644 --- a/hrp/runner.go +++ b/hrp/runner.go @@ -429,6 +429,7 @@ func (r *CaseRunner) parseConfig() error { } iosDeviceConfig.UDID = udid.(string) } + device, err := uixt.NewIOSDevice(uixt.GetIOSDeviceOptions(iosDeviceConfig)...) if err != nil { return errors.Wrap(err, "init iOS device failed") @@ -447,6 +448,7 @@ func (r *CaseRunner) parseConfig() error { } androidDeviceConfig.SerialNumber = sn.(string) } + device, err := uixt.NewAndroidDevice(uixt.GetAndroidDeviceOptions(androidDeviceConfig)...) if err != nil { return errors.Wrap(err, "init Android device failed")