// Package log defines the core logging functionality for Abra. package log import ( "math" "os" tea "github.com/charmbracelet/bubbletea" charmLog "github.com/charmbracelet/log" ) // Logger is the central logging interface. var Logger = charmLog.NewWithOptions(os.Stdout, charmLog.Options{ ReportCaller: false, ReportTimestamp: false, }) var Fatal = Logger.Fatal var Fatalf = Logger.Fatalf var Debug = Logger.Debug var Debugf = Logger.Debugf var Info = Logger.Info var Infof = Logger.Infof var Warn = Logger.Warn var Warnf = Logger.Warnf var Error = Logger.Error var Errorf = Logger.Errorf var SetLevel = Logger.SetLevel var DebugLevel = charmLog.DebugLevel var SetOutput = charmLog.SetOutput var SetReportCaller = charmLog.SetReportCaller type f func() (tea.Model, error) func Without(fn f) (tea.Model, error) { l := Logger.GetLevel() Logger.SetLevel(math.MaxInt) m, err := fn() Logger.SetLevel(l) return m, err }