[go] log 패키지를 이용한 치명적 에러 로깅

고퍼런스는 오류가 발생할 때 적절한 로그를 기록하는 것이 매우 중요하다는 것을 알고 있습니다. 이러한 정보는 오류가 발생했을 때 디버깅에 도움을 줄 뿐만 아니라, 프로그램이 올바르게 작동하지 않을 때 무엇이 문제인지를 파악하는 데도 도움을 줍니다. Go 언어에서는 표준 라이브러리에서 제공하는 log 패키지를 사용하여 치명적 에러를 로깅할 수 있습니다.

log 패키지 이용하기

log 패키지를 사용하여 치명적 오류를 로깅하는 방법은 매우 간단합니다. 아래는 간단한 예제 코드로, 치명적 오류가 발생할 때 어떻게 로깅하는지를 보여줍니다.

package main

import (
	"log"
)

func main() {
	_, err := someFunction()
	if err != nil {
		log.Fatal(err)
	}
}

func someFunction() (int, error) {
	// ...
	return 0, errors.New("Something went wrong")
}

위 예제 코드에서 log.Fatal()을 호출하여 치명적 오류가 발생했을 때 메시지를 출력하고 프로그램을 종료합니다.

로깅 포맷 지정

기본적으로 log 패키지는 로그 메시지를 날짜와 시간이 포함된 표준 포맷으로 출력합니다. 하지만 경우에 따라서는 이 포맷을 사용하기에는 제한적일 수 있습니다. 이때는 log.SetFlags()를 사용하여 로깅 포맷을 직접 지정할 수 있습니다.

log.SetFlags(log.LstdFlags | log.Lshortfile)

위 코드는 로그 메시지에 날짜, 시간 및 현재 소스 파일의 이름과 라인 번호를 포함하도록 포맷을 지정합니다.

결론

개발자는 프로그램을 디버깅하거나 문제를 추적하는 데 필요한 정보를 얻기 위해 적절한 로깅을 수행해야 합니다. Go 언어의 log 패키지는 간단하게 사용할 수 있으며, 치명적 오류가 발생했을 때 로깅하기에 효과적인 도구입니다.

참고 자료