logger.go 638 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package logger
  2. import (
  3. "os"
  4. "sync"
  5. "github.com/charmbracelet/log"
  6. )
  7. var Logger *log.Logger
  8. var once sync.Once
  9. func InitLogger(level string) {
  10. once.Do(func() {
  11. Logger = log.NewWithOptions(os.Stderr, log.Options{ReportTimestamp: true})
  12. })
  13. if level == "debug" {
  14. Logger.SetLevel(log.DebugLevel)
  15. } else {
  16. Logger.SetLevel(log.InfoLevel)
  17. }
  18. }
  19. func Info(args ...interface{}) {
  20. Logger.Info(args)
  21. }
  22. func Warning(args ...interface{}) {
  23. Logger.Warn(args)
  24. }
  25. func Debug(args ...interface{}) {
  26. Logger.Debug(args)
  27. }
  28. func Error(args ...interface{}) {
  29. Logger.Error(args)
  30. }
  31. func Fatal(args ...interface{}) {
  32. Logger.Fatal(args)
  33. }