Files
rano/pkg/logger/logger.go
Ankit Patial 45c318b897 - graph, dotenv read
- graph, cors and secure header
- web, urql client basic setup
2024-11-04 11:35:43 +05:30

37 lines
625 B
Go

package logger
import (
"fmt"
"log/slog"
)
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
}
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
}