forked from toolshed/abra
		
	refactor: logging with background/padding
This commit is contained in:
		@ -190,7 +190,9 @@ func newAbraApp(version, commit string) *cli.App {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							log.Logger.SetStyles(log.Styles())
 | 
				
			||||||
		charmLog.SetDefault(log.Logger)
 | 
							charmLog.SetDefault(log.Logger)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		log.Debugf("abra version %s, commit %s", version, commit)
 | 
							log.Debugf("abra version %s, commit %s", version, commit)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
 | 
				
			|||||||
@ -487,8 +487,11 @@ func newAbraApp(version, commit string) *cli.App {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	app.Before = func(c *cli.Context) error {
 | 
						app.Before = func(c *cli.Context) error {
 | 
				
			||||||
 | 
							log.Logger.SetStyles(log.Styles())
 | 
				
			||||||
		charmLog.SetDefault(log.Logger)
 | 
							charmLog.SetDefault(log.Logger)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		log.Debugf("kadabra version %s, commit %s", version, commit)
 | 
							log.Debugf("kadabra version %s, commit %s", version, commit)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
									
									
									
									
								
							@ -6,6 +6,7 @@ require (
 | 
				
			|||||||
	coopcloud.tech/tagcmp v0.0.0-20230809071031-eb3e7758d4eb
 | 
						coopcloud.tech/tagcmp v0.0.0-20230809071031-eb3e7758d4eb
 | 
				
			||||||
	git.coopcloud.tech/coop-cloud/godotenv v1.5.2-0.20231130100509-01bff8284355
 | 
						git.coopcloud.tech/coop-cloud/godotenv v1.5.2-0.20231130100509-01bff8284355
 | 
				
			||||||
	github.com/AlecAivazis/survey/v2 v2.3.7
 | 
						github.com/AlecAivazis/survey/v2 v2.3.7
 | 
				
			||||||
 | 
						github.com/charmbracelet/lipgloss v0.11.1
 | 
				
			||||||
	github.com/charmbracelet/log v0.4.0
 | 
						github.com/charmbracelet/log v0.4.0
 | 
				
			||||||
	github.com/distribution/reference v0.6.0
 | 
						github.com/distribution/reference v0.6.0
 | 
				
			||||||
	github.com/docker/cli v27.0.3+incompatible
 | 
						github.com/docker/cli v27.0.3+incompatible
 | 
				
			||||||
@ -32,8 +33,7 @@ require (
 | 
				
			|||||||
	github.com/beorn7/perks v1.0.1 // indirect
 | 
						github.com/beorn7/perks v1.0.1 // indirect
 | 
				
			||||||
	github.com/cenkalti/backoff/v4 v4.3.0 // indirect
 | 
						github.com/cenkalti/backoff/v4 v4.3.0 // indirect
 | 
				
			||||||
	github.com/cespare/xxhash/v2 v2.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.3 // indirect
 | 
				
			||||||
	github.com/charmbracelet/x/ansi v0.1.2 // indirect
 | 
					 | 
				
			||||||
	github.com/cloudflare/circl v1.3.9 // indirect
 | 
						github.com/cloudflare/circl v1.3.9 // indirect
 | 
				
			||||||
	github.com/containerd/log v0.1.0 // indirect
 | 
						github.com/containerd/log v0.1.0 // indirect
 | 
				
			||||||
	github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
 | 
						github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										8
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								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.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 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
 | 
				
			||||||
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 | 
					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.1 h1:a8KgVPHa7kOoP95vm2tQQrjD2AKhbWmfr4uJ2RW6kNk=
 | 
				
			||||||
github.com/charmbracelet/lipgloss v0.11.0/go.mod h1:1UdRTH9gYgpcdNN5oBtjbu/IzNKtzVtb7sqN1t9LNn8=
 | 
					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 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM=
 | 
				
			||||||
github.com/charmbracelet/log v0.4.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM=
 | 
					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.3 h1:RBh/eleNWML5R524mjUF0yVRePTwqN9tPtV+DPgO5Lw=
 | 
				
			||||||
github.com/charmbracelet/x/ansi v0.1.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
 | 
					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/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.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M=
 | 
				
			||||||
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
 | 
					github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,9 @@ package log
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/charmbracelet/lipgloss"
 | 
				
			||||||
	charmLog "github.com/charmbracelet/log"
 | 
						charmLog "github.com/charmbracelet/log"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -32,3 +34,42 @@ var SetLevel = Logger.SetLevel
 | 
				
			|||||||
var DebugLevel = charmLog.DebugLevel
 | 
					var DebugLevel = charmLog.DebugLevel
 | 
				
			||||||
var SetOutput = charmLog.SetOutput
 | 
					var SetOutput = charmLog.SetOutput
 | 
				
			||||||
var SetReportCaller = charmLog.SetReportCaller
 | 
					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
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user