Go's Built-in Package for Better Logging (using slog)
- Go 1.21부터 내장된
slog
패키지를 이용하여, 로그 메시지를 조직화된 JSON 형식으로 기록할 수 있습니다. 🗂️
slog.newJSONHandler(os.Stdout)
를 사용하여 JSON 형식의 로그를 기록할 수 있습니다. 🪵
slog.setDefault()
을 사용하여 slog
로거를 기본 로거로 설정하면, 기존 log
패키지 예에서도 JSON 형식의 로그가 출력됩니다. 🔄
slog
은 INFO, WARN, DEBUG, ERROR 등 다양한 로그 레벨을 지원합니다. 🎚️
- JSON 로그 메시지에 자유로운 키 값 쌍을 추가할 수 있으며,
slog
도구를 사용하여 문자열 (slog.doString
), 정수 (slog.doInteger
) 등 타입을 명시적으로 지정할 수 있습니다. 🧰
slog.doLogAttributes()
함수를 사용하면 JSON 로그 메시지에 context 정보를 추가 할 수 있습니다. 🌐