logger.go raw

   1  package log
   2  
   3  import (
   4  	"log"
   5  	"os"
   6  )
   7  
   8  // Logger is an optional custom logger.
   9  var Logger StdLogger = log.New(os.Stderr, "", log.LstdFlags)
  10  
  11  // StdLogger interface for Standard Logger.
  12  type StdLogger interface {
  13  	Fatal(args ...any)
  14  	Fatalln(args ...any)
  15  	Fatalf(format string, args ...any)
  16  	Print(args ...any)
  17  	Println(args ...any)
  18  	Printf(format string, args ...any)
  19  }
  20  
  21  // Fatal writes a log entry.
  22  // It uses Logger if not nil, otherwise it uses the default log.Logger.
  23  func Fatal(args ...any) {
  24  	Logger.Fatal(args...)
  25  }
  26  
  27  // Fatalf writes a log entry.
  28  // It uses Logger if not nil, otherwise it uses the default log.Logger.
  29  func Fatalf(format string, args ...any) {
  30  	Logger.Fatalf(format, args...)
  31  }
  32  
  33  // Print writes a log entry.
  34  // It uses Logger if not nil, otherwise it uses the default log.Logger.
  35  func Print(args ...any) {
  36  	Logger.Print(args...)
  37  }
  38  
  39  // Println writes a log entry.
  40  // It uses Logger if not nil, otherwise it uses the default log.Logger.
  41  func Println(args ...any) {
  42  	Logger.Println(args...)
  43  }
  44  
  45  // Printf writes a log entry.
  46  // It uses Logger if not nil, otherwise it uses the default log.Logger.
  47  func Printf(format string, args ...any) {
  48  	Logger.Printf(format, args...)
  49  }
  50  
  51  // Warnf writes a log entry.
  52  func Warnf(format string, args ...any) {
  53  	Printf("[WARN] "+format, args...)
  54  }
  55  
  56  // Infof writes a log entry.
  57  func Infof(format string, args ...any) {
  58  	Printf("[INFO] "+format, args...)
  59  }
  60