diff --git a/cmd/create/create.go b/cmd/create/create.go index 3414e3f5..c5f40973 100644 --- a/cmd/create/create.go +++ b/cmd/create/create.go @@ -14,4 +14,5 @@ var createCmd = &cobra.Command{ func init() { cmd.RootCmd.AddCommand(createCmd) + } diff --git a/cmd/deploy/service.go b/cmd/deploy/service.go index 428bac58..066a1892 100644 --- a/cmd/deploy/service.go +++ b/cmd/deploy/service.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "errors" + "google.golang.org/grpc/status" "os" "regexp" @@ -15,6 +16,11 @@ import ( "github.com/spf13/cobra" ) +const ( + Red = "\033[31m" // Red color for errors + Reset = "\033[0m" // Reset to default +) + var env string var definitionFile string var provisioningFile string @@ -92,13 +98,13 @@ func deployUsingFiles(ctx context.Context) { }) if err != nil { - log.Fatal("Failed to deploy service ", err) + handleDeployServiceError(err) } } func deployUsingServiceNameAndVersion(ctx context.Context) { log.Info("deploying service :", serviceName, ":", serviceVersion, " in env :", env) - err := serviceClient.DeployReleasedService(&ctx, &serviceProto.DeployReleasedServiceRequest{ + _ = serviceClient.DeployReleasedService(&ctx, &serviceProto.DeployReleasedServiceRequest{ EnvName: env, ServiceIdentifier: &serviceProto.ServiceIdentifier{ ServiceName: serviceName, @@ -106,9 +112,6 @@ func deployUsingServiceNameAndVersion(ctx context.Context) { }, }) - if err != nil { - log.Fatal("Failed to deploy service ", err) - } } func deployUsingServiceNameAndLabels(ctx context.Context) { @@ -122,7 +125,7 @@ func deployUsingServiceNameAndLabels(ctx context.Context) { }) if err != nil { - log.Fatal("Failed to deploy service ", err) + handleDeployServiceError(err) } } @@ -137,3 +140,11 @@ func validateLabels(labels string) error { } return nil } + +func handleDeployServiceError(err error) { + if st, ok := status.FromError(err); ok { + log.Fatalf("%s %s: %s %s", Red, st.Message(), Reset) + } else { + log.Fatalf("%s %s: %s %v", Red, err, Reset) + } +} diff --git a/internal/ui/logger.go b/internal/ui/logger.go index 6fcd4e3a..2c854bc3 100644 --- a/internal/ui/logger.go +++ b/internal/ui/logger.go @@ -1,20 +1,27 @@ package ui -import ( - "github.com/dream11/odin/pkg/constant" - "github.com/dream11/odin/pkg/util" - log "github.com/sirupsen/logrus" -) +import log "github.com/sirupsen/logrus" -func init() { +type CustomTextFormatter struct { + BaseFormatter *log.TextFormatter +} + +func (f *CustomTextFormatter) Format(entry *log.Entry) ([]byte, error) { + // Return only the log message, ignoring the log level and timestamp + return []byte(entry.Message + "\n"), nil +} - log.SetFormatter(&log.TextFormatter{ - ForceColors: true, - DisableColors: false, - TimestampFormat: "2006-01-02 15:04:05", // Custom format - FullTimestamp: true, +func init() { + log.SetFormatter(&CustomTextFormatter{ + BaseFormatter: &log.TextFormatter{ + ForceColors: true, + DisableColors: false, + DisableTimestamp: true, + DisableLevelTruncation: true, + }, }) - level, err := log.ParseLevel(util.GetEnvOrDefault(constant.LogLevelKey, "info")) + + level, err := log.ParseLevel("info") if err != nil { log.Warning("Invalid log level. Allowed values are: panic, fatal, error, warn, info, debug, trace") log.SetLevel(log.InfoLevel)