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 정보를 추가 할 수 있습니다. 🌐