56 lines
935 B
Go
56 lines
935 B
Go
|
|
package logger
|
||
|
|
|
||
|
|
import (
|
||
|
|
"log/slog"
|
||
|
|
"os"
|
||
|
|
)
|
||
|
|
|
||
|
|
var (
|
||
|
|
defaultLevel = slog.LevelInfo
|
||
|
|
logger *slog.Logger
|
||
|
|
)
|
||
|
|
|
||
|
|
func init() {
|
||
|
|
opts := &slog.HandlerOptions{
|
||
|
|
Level: defaultLevel,
|
||
|
|
}
|
||
|
|
logger = slog.New(slog.NewJSONHandler(os.Stdout, opts))
|
||
|
|
slog.SetDefault(logger)
|
||
|
|
}
|
||
|
|
|
||
|
|
func SetLevel(level slog.Level) {
|
||
|
|
opts := &slog.HandlerOptions{
|
||
|
|
Level: level,
|
||
|
|
}
|
||
|
|
logger = slog.New(slog.NewJSONHandler(os.Stdout, opts))
|
||
|
|
slog.SetDefault(logger)
|
||
|
|
}
|
||
|
|
|
||
|
|
func SetTextHandler() {
|
||
|
|
opts := &slog.HandlerOptions{
|
||
|
|
Level: defaultLevel,
|
||
|
|
}
|
||
|
|
logger = slog.New(slog.NewTextHandler(os.Stdout, opts))
|
||
|
|
slog.SetDefault(logger)
|
||
|
|
}
|
||
|
|
|
||
|
|
func Debug(msg string, args ...any) {
|
||
|
|
slog.Debug(msg, args...)
|
||
|
|
}
|
||
|
|
|
||
|
|
func Info(msg string, args ...any) {
|
||
|
|
slog.Info(msg, args...)
|
||
|
|
}
|
||
|
|
|
||
|
|
func Warn(msg string, args ...any) {
|
||
|
|
slog.Warn(msg, args...)
|
||
|
|
}
|
||
|
|
|
||
|
|
func Error(msg string, args ...any) {
|
||
|
|
slog.Error(msg, args...)
|
||
|
|
}
|
||
|
|
|
||
|
|
func With(args ...any) *slog.Logger {
|
||
|
|
return slog.With(args...)
|
||
|
|
}
|