[Go] slog
Updated:
개요
- 1.21부터 지원
예제
- 코드
-
package main import ( "log/slog" "os" ) func main() { println("1 ---------------------------------------------") { slog.Debug("message", "key1", 1, "key2", 2) slog.Error("message", "key1", 1, "key2", 2) slog.Warn("message", "key1", 1, "key2", 2) slog.Info("message", "key1", 1, "key2", 2) slog.Info("usage", "cpu", 10, slog.Group("disk", "/", 50, "/home", 30)) } println("\n2 ---------------------------------------------") { slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, nil))) slog.Debug("message", "key1", 1, "key2", 2) slog.Error("message", "key1", 1, "key2", 2) slog.Warn("message", "key1", 1, "key2", 2) slog.Info("message", "key1", 1, "key2", 2) slog.Info("usage", "cpu", 10, slog.Group("disk", "/", 50, "/home", 30)) } println("\n3 ---------------------------------------------") { slog.SetDefault(slog.New(slog.NewJSONHandler(os.Stdout, nil))) slog.Debug("message", "key1", 1, "key2", 2) slog.Error("message", "key1", 1, "key2", 2) slog.Warn("message", "key1", 1, "key2", 2) slog.Info("message", "key1", 1, "key2", 2) slog.Info("usage", "cpu", 10, slog.Group("disk", "/", 50, "/home", 30)) } println("\n4 ---------------------------------------------") { slog.SetDefault(slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelDebug}))) slog.Debug("message", "key1", 1, "key2", 2) slog.Error("message", "key1", 1, "key2", 2) slog.Warn("message", "key1", 1, "key2", 2) slog.Info("message", "key1", 1, "key2", 2) slog.Info("usage", "cpu", 10, slog.Group("disk", "/", 50, "/home", 30)) } }
-
- 실행 결과
-
1 --------------------------------------------- 2023/09/12 15:28:04 ERROR message key1=1 key2=2 2023/09/12 15:28:04 WARN message key1=1 key2=2 2023/09/12 15:28:04 INFO message key1=1 key2=2 2023/09/12 15:28:04 INFO usage cpu=10 disk./=50 disk./home=30 2 --------------------------------------------- time=2023-09-12T15:28:04.582+09:00 level=ERROR msg=message key1=1 key2=2 time=2023-09-12T15:28:04.582+09:00 level=WARN msg=message key1=1 key2=2 time=2023-09-12T15:28:04.582+09:00 level=INFO msg=message key1=1 key2=2 time=2023-09-12T15:28:04.582+09:00 level=INFO msg=usage cpu=10 disk./=50 disk./home=30 3 --------------------------------------------- {"time":"2023-09-12T15:28:04.582835078+09:00","level":"ERROR","msg":"message","key1":1,"key2":2} {"time":"2023-09-12T15:28:04.582838078+09:00","level":"WARN","msg":"message","key1":1,"key2":2} {"time":"2023-09-12T15:28:04.582839816+09:00","level":"INFO","msg":"message","key1":1,"key2":2} {"time":"2023-09-12T15:28:04.582845535+09:00","level":"INFO","msg":"usage","cpu":10,"disk":{"/":50,"/home":30}} 4 --------------------------------------------- {"time":"2023-09-12T15:28:04.582849353+09:00","level":"DEBUG","msg":"message","key1":1,"key2":2} {"time":"2023-09-12T15:28:04.582853342+09:00","level":"ERROR","msg":"message","key1":1,"key2":2} {"time":"2023-09-12T15:28:04.582855334+09:00","level":"WARN","msg":"message","key1":1,"key2":2} {"time":"2023-09-12T15:28:04.582857208+09:00","level":"INFO","msg":"message","key1":1,"key2":2} {"time":"2023-09-12T15:28:04.582859409+09:00","level":"INFO","msg":"usage","cpu":10,"disk":{"/":50,"/home":30}}
-