All checks were successful
continuous-integration/drone/push Build is passing
See #478
47 lines
940 B
Go
47 lines
940 B
Go
// 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
|
|
}
|