working on auth.
mailer, basic setup with html template and a dev treansport
This commit is contained in:
45
util/logger/logger.go
Normal file
45
util/logger/logger.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
)
|
||||
|
||||
func Info(msg string, args ...any) {
|
||||
a, b := getArgs(args)
|
||||
slog.Info(fmt.Sprintf(msg, a...), b...)
|
||||
}
|
||||
|
||||
func Warn(msg string, args ...any) {
|
||||
a, b := getArgs(args)
|
||||
slog.Warn(fmt.Sprintf(msg, a...), b...)
|
||||
}
|
||||
|
||||
func Error(err error, args ...any) {
|
||||
a, b := getArgs(args)
|
||||
slog.Error(fmt.Sprintf(err.Error(), a...), b...)
|
||||
// TODO: save error log for later scrutiny
|
||||
}
|
||||
|
||||
// Fatal error will exit with os.Exit(1)
|
||||
func Fatal(msg string, args ...any) {
|
||||
a, b := getArgs(args)
|
||||
slog.Error(fmt.Sprintf(msg, a...), b...)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
func getArgs(args []any) ([]any, []any) {
|
||||
var a []any
|
||||
var b []any
|
||||
for _, arg := range args {
|
||||
switch arg.(type) {
|
||||
case slog.Attr:
|
||||
b = append(b, arg)
|
||||
default:
|
||||
a = append(a, arg)
|
||||
}
|
||||
}
|
||||
|
||||
return a, b
|
||||
}
|
Reference in New Issue
Block a user