24 lines
492 B
Go
24 lines
492 B
Go
package internal
|
|
|
|
import (
|
|
"fmt"
|
|
"log/slog"
|
|
"os"
|
|
)
|
|
|
|
func InitSlog(level string) {
|
|
var programLevel slog.Level
|
|
if err := (&programLevel).UnmarshalText([]byte(level)); err != nil {
|
|
fmt.Fprintf(os.Stderr, "invalid log level %s: %v, using info\n", level, err)
|
|
programLevel = slog.LevelInfo
|
|
}
|
|
|
|
leveler := &slog.LevelVar{}
|
|
leveler.Set(programLevel)
|
|
|
|
h := slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{
|
|
AddSource: true,
|
|
Level: leveler,
|
|
})
|
|
slog.SetDefault(slog.New(h))
|
|
}
|