diff --git a/cli/cli.go b/cli/cli.go index cea0b9ef..e3ed5728 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -190,7 +190,9 @@ func newAbraApp(version, commit string) *cli.App { } } + log.Logger.SetStyles(log.Styles()) charmLog.SetDefault(log.Logger) + log.Debugf("abra version %s, commit %s", version, commit) return nil diff --git a/cli/updater/updater.go b/cli/updater/updater.go index ca2b8ff2..e35b1867 100644 --- a/cli/updater/updater.go +++ b/cli/updater/updater.go @@ -487,8 +487,11 @@ func newAbraApp(version, commit string) *cli.App { } app.Before = func(c *cli.Context) error { + log.Logger.SetStyles(log.Styles()) charmLog.SetDefault(log.Logger) + log.Debugf("kadabra version %s, commit %s", version, commit) + return nil } diff --git a/go.mod b/go.mod index 7ff87ad7..0951caf8 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( coopcloud.tech/tagcmp v0.0.0-20230809071031-eb3e7758d4eb git.coopcloud.tech/coop-cloud/godotenv v1.5.2-0.20231130100509-01bff8284355 github.com/AlecAivazis/survey/v2 v2.3.7 + github.com/charmbracelet/lipgloss v0.11.1 github.com/charmbracelet/log v0.4.0 github.com/distribution/reference v0.6.0 github.com/docker/cli v27.0.3+incompatible @@ -32,8 +33,7 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/charmbracelet/lipgloss v0.11.0 // indirect - github.com/charmbracelet/x/ansi v0.1.2 // indirect + github.com/charmbracelet/x/ansi v0.1.3 // indirect github.com/cloudflare/circl v1.3.9 // indirect github.com/containerd/log v0.1.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect diff --git a/go.sum b/go.sum index 86018965..6cf86238 100644 --- a/go.sum +++ b/go.sum @@ -135,12 +135,12 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charmbracelet/lipgloss v0.11.0 h1:UoAcbQ6Qml8hDwSWs0Y1cB5TEQuZkDPH/ZqwWWYTG4g= -github.com/charmbracelet/lipgloss v0.11.0/go.mod h1:1UdRTH9gYgpcdNN5oBtjbu/IzNKtzVtb7sqN1t9LNn8= +github.com/charmbracelet/lipgloss v0.11.1 h1:a8KgVPHa7kOoP95vm2tQQrjD2AKhbWmfr4uJ2RW6kNk= +github.com/charmbracelet/lipgloss v0.11.1/go.mod h1:beLlcmkF7MWA+5UrKKIRo/VJ21xGXr7YJ9miWfdMRIU= github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM= github.com/charmbracelet/log v0.4.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM= -github.com/charmbracelet/x/ansi v0.1.2 h1:6+LR39uG8DE6zAmbu023YlqjJHkYXDF1z36ZwzO4xZY= -github.com/charmbracelet/x/ansi v0.1.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= +github.com/charmbracelet/x/ansi v0.1.3 h1:RBh/eleNWML5R524mjUF0yVRePTwqN9tPtV+DPgO5Lw= +github.com/charmbracelet/x/ansi v0.1.3/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= diff --git a/pkg/log/log.go b/pkg/log/log.go index 9e19f45d..e2a30e3c 100644 --- a/pkg/log/log.go +++ b/pkg/log/log.go @@ -3,7 +3,9 @@ package log import ( "os" + "strings" + "github.com/charmbracelet/lipgloss" charmLog "github.com/charmbracelet/log" ) @@ -32,3 +34,42 @@ var SetLevel = Logger.SetLevel var DebugLevel = charmLog.DebugLevel var SetOutput = charmLog.SetOutput var SetReportCaller = charmLog.SetReportCaller + +func Styles() *charmLog.Styles { + styles := charmLog.DefaultStyles() + + styles.Levels = map[charmLog.Level]lipgloss.Style{ + charmLog.DebugLevel: lipgloss.NewStyle(). + SetString(strings.ToUpper(DebugLevel.String())). + Bold(true). + Padding(0, 1, 0, 1). + Background(lipgloss.Color("63")). + Foreground(lipgloss.Color("15")), + charmLog.InfoLevel: lipgloss.NewStyle(). + SetString(strings.ToUpper(charmLog.InfoLevel.String())). + Bold(true). + Padding(0, 1, 0, 1). + Background(lipgloss.Color("86")). + Foreground(lipgloss.Color("16")), + charmLog.WarnLevel: lipgloss.NewStyle(). + SetString(strings.ToUpper(charmLog.WarnLevel.String())). + Bold(true). + Padding(0, 1, 0, 1). + Background(lipgloss.Color("192")). + Foreground(lipgloss.Color("16")), + charmLog.ErrorLevel: lipgloss.NewStyle(). + SetString(strings.ToUpper(charmLog.ErrorLevel.String())). + Bold(true). + Padding(0, 1, 0, 1). + Background(lipgloss.Color("204")). + Foreground(lipgloss.Color("15")), + charmLog.FatalLevel: lipgloss.NewStyle(). + SetString(strings.ToUpper(charmLog.FatalLevel.String())). + Bold(true). + Padding(0, 1, 0, 1). + Background(lipgloss.Color("134")). + Foreground(lipgloss.Color("15")), + } + + return styles +}