chore: sync project files

This commit is contained in:
richjohnrambo
2026-08-11 10:29:38 +08:00
parent c9d6a6767f
commit 5aa7733515
310 changed files with 3323 additions and 36 deletions
+55
View File
@@ -0,0 +1,55 @@
// Package logs exposes info, warning and error loggers.
package logs
import (
"io"
"log"
"strings"
)
var (
// Info is a logger at the 'info' logging level.
Info *log.Logger
// Warn is a logger at the 'warning' logging level.
Warn *log.Logger
// Err is a logger at the 'error' logging level.
Err *log.Logger
)
func parseFlags(logFlags string) int {
flags := 0
for _, v := range strings.Split(logFlags, ",") {
switch {
case v == "date":
flags |= log.Ldate
case v == "time":
flags |= log.Ltime
case v == "microseconds":
flags |= log.Lmicroseconds
case v == "longfile":
flags |= log.Llongfile
case v == "shortfile":
flags |= log.Lshortfile
case v == "UTC":
flags |= log.LUTC
case v == "msgprefix":
flags |= log.Lmsgprefix
case v == "stdFlags":
flags |= log.LstdFlags
default:
log.Fatalln("Invalid log flags string: ", logFlags)
}
}
if flags == 0 {
flags = log.LstdFlags
}
return flags
}
// Init initializes info, warning and error loggers given the flags and the output.
func Init(output io.Writer, logFlags string) {
flags := parseFlags(logFlags)
Info = log.New(output, "I", flags)
Warn = log.New(output, "W", flags)
Err = log.New(output, "E", flags)
}