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