>백엔드 개발 >Golang >Go에서 표준 로거의 로깅 출력을 억제하는 방법은 무엇입니까?

Go에서 표준 로거의 로깅 출력을 억제하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-18 05:05:02593검색

How to Suppress Logging Output from the Standard Logger in Go?

표준 로거에서 로깅 출력을 억제하는 방법

표준 라이브러리의 로그 패키지에서 로깅을 비활성화하는 것은 고도로 계측된 코드를 처리할 때 일반적으로 필요할 수 있습니다. 이를 달성하는 가장 효과적인 방법을 이해하는 것이 중요합니다.

처음에는 로그 호출을 수행하거나 주석 처리하기 전에 확인할 플래그를 설정하는 것이 실행 가능한 옵션처럼 보일 수 있습니다. 그러나 자세히 살펴보면 더 강력한 솔루션이 존재한다는 것을 알게 될 것입니다.

표준 로거를 비활성화하려면 io/ioutil 패키지의 Discard 값을 활용하는 것이 좋습니다. 로그 패키지의 SetOutput 메서드를 ioutil.Discard로 설정하면 모든 로깅 출력을 자동으로 삭제하는 void로 효과적으로 리디렉션할 수 있습니다.

import (
  "log"
  "io/ioutil"
)

func init() {
  log.SetOutput(ioutil.Discard)
}

또는 Go 버전 1.16 이상을 사용하는 경우 다음을 수행할 수 있습니다. io.Discard를 SetOutput 메서드에 직접 할당합니다.

log.SetOutput(io.Discard)

이 간단하면서도 효과적인 솔루션은 프로덕션 환경과 관련된 수동 확인이나 코드 수정 없이 로깅이 억제됩니다.

위 내용은 Go에서 표준 로거의 로깅 출력을 억제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.