package main
import (
"fmt"
"log/slog"
"os"
)
func main() {
slog.Error("This is an ERROR message")
slog.Debug("This is a DEBUG message")
slog.Info("This is an INFO message")
slog.Warn("This is a WARNING message")
// Default log level
logLevel := &slog.LevelVar{}
fmt.Println("Log level:", logLevel)
// Text Handler
opts := &slog.HandlerOptions{
Level: logLevel,
}
handler := slog.NewTextHandler(os.Stdout, opts)
logger := slog.New(handler)
// Change log level of logger
logLevel.Set(slog.LevelDebug)
logger.Debug("This is a DEBUG message")
// JSON Handler
logJSON := slog.New(slog.NewJSONHandler(os.Stdout, nil))
logJSON.Error("ERROR message in JSON")
}
zzh@ZZHPC:/zdata/Github/mastering-go-expertise$ go run main.go
2024/06/20 10:07:22 ERROR This is an ERROR message
2024/06/20 10:07:22 INFO This is an INFO message
2024/06/20 10:07:22 WARN This is a WARNING message
Log level: LevelVar(INFO)
time=2024-06-20T10:07:22.133+08:00 level=DEBUG msg="This is a DEBUG message"
{"time":"2024-06-20T10:07:22.133359176+08:00","level":"ERROR","msg":"ERROR message in JSON"}
func main() {
fmt.Println(&slog.LevelVar{})
slog.Debug("@@@@@@@@@@@@@@")
slog.Info("************")
fmt.Println(slog.SetLogLoggerLevel(slog.LevelDebug))
fmt.Println(&slog.LevelVar{})
slog.Debug("##############")
}
zzh@ZZHPC:/zdata/Github/ztest$ go run main.go
LevelVar(INFO)
2024/06/23 19:08:17 INFO ************
INFO
LevelVar(INFO)
2024/06/23 19:08:17 DEBUG ##############
![]()