Go에서 로깅을 수행하는 관용적 인 방법은 무엇입니까?Go 라이브러리에서 관용적 로깅을 구현하는 방법은 무엇입니까?
답변
글로벌 변수 로거을 선언하는 파일을 만듭니다. 그런 다음 Go의 관용적 인 init() 기능을 사용하여 시작할 때 변수를 초기화하십시오.
logger.go :
package xxx
import (
"log"
"os"
)
var logger *log.Logger
func init() {
logger = log.New(os.Stderr, "xxx: ", log.Ldate | log.Ltime | log.Lshortfile)
}
example.go는 :
func test() {
logger.Println("Logged")
}
은이 방법을 사용하면 하나에서 구성 할 수있는 단일 로거 구현을 사용할 수있는 혜택을 제공합니다 파일.
EDIT : ThomasKappler는 단일 글로벌 로거 만 사용하는 경우 로그 패키지의 내장 로거를 사용하고 SetFlags로 구성 할 수 있다고 지적했습니다. 유일한 차이점은 더 명시 적이어야하고 로그 패키지를 가져와야한다는 것입니다.
하나의 글로벌 로거 만 사용하는 경우에는 자신 만의 로거를 건너 뛰고 log.Println 등과 같은 로그 패키지의 기능을 사용할 수 있습니다. log.SetFlags()를 사용하여 구성 할 수도 있습니다. –
@ThomasKappler 고마워, 나는 그걸 몰랐다. 기존 기능을 손상시키지 않고 로거를 확장 할 수 있으므로이 방법을 사용하는 것이 더 좋습니다 (플러스 로그 패키지를 사방에 가져올 필요가 없습니다). – liamzebedee
- 1. android - 로깅을 구현하는 방법
- 2. Go goroutines 또는 Go 채널을 구현하는 C++ 라이브러리는 무엇입니까?
- 3. T-SQL의 트랜잭션 중 로깅을 구현하는 가장 좋은 방법은 무엇입니까?
- 4. go-to 자바 스크립트 링크를 구현하는 방법은 무엇입니까? (플러스 하이라이트)
- 5. 그래픽 라이브러리에서 구현하는 "드로잉 모드"는 무엇입니까?
- 6. iphone 사진 라이브러리에서 삭제 기능을 구현하는 방법은 무엇입니까?
- 7. Codeigniter에서 로깅을 비활성화하는 방법은 무엇입니까?
- 8. cxf 로깅을 방지하는 방법은 무엇입니까?
- 9. 외부 라이브러리에서 인터페이스를 구현하는 EJB
- 10. Pax 로깅을 사용하여 OpenJPA 로깅을 구성하는 방법은 무엇입니까?
- 11. UICctionSheet ... UIImagePicker를 구현하는 방법은 무엇입니까?
- 12. 스칼라 ArrayBuffer를 초기화하는 관용적 인 방법은 무엇입니까?
- 13. 순수 루아에서 오류를 알리는 관용적 인 방법은 무엇입니까?
- 14. "훈련 카드 도움말"을 구현하는 관용적 인 .net 방법이 있습니까?
- 15. 다른 라이브러리에서 라이브러리를로드하는 방법은 무엇입니까?
- 16. WCF 종단 간 로깅을 구성하는 방법은 무엇입니까?
- 17. SolrJ로 solr 로깅을 비활성화하는 방법은 무엇입니까?
- 18. jar에 대해 log4j 로깅을 구성하는 방법은 무엇입니까?
- 19. WebappClassLoader 용 Tomcat에서 로깅을 설정하는 방법은 무엇입니까?
- 20. Elmah 메모리 로깅을 비활성화하는 방법은 무엇입니까?
- 21. OpenEJB 클라이언트 로깅을 구성하는 방법은 무엇입니까?
- 22. 중앙 집중식 로깅을 구성하는 방법은 무엇입니까?
- 23. Flex 앱에서 외부 로깅을 구성하는 방법은 무엇입니까?
- 24. Perl 모듈에 로깅을 포함시키는 방법은 무엇입니까?
- 25. Go 프로젝트에 LiteIDE를 사용하는 방법은 무엇입니까?
- 26. Android에서 Go 코드를 실행하는 방법은 무엇입니까?
- 27. 위젯을로드하는 관용적 방법?
- 28. 여러 팝업을 구현하는 방법은 무엇입니까?
- 29. Go Shebang 라인은 무엇입니까?
- 30. 아이폰의 흔들림 효과에 애니메이션을 구현하는 방법은 무엇입니까?
더 많은 기능을 완벽하게 구현하는 제 3 자 라이브러리가 있습니다. 예를 들어, 표준 라이브러리에서 사용자 지정 서식 및 로그 수준 (디버그, 정보 등)에 대한 편리한 옵션을 놓친 다음 직접 자체 라이브러리 (go-log) (https://github.com/scale)를 구현합니다. -it/go-log). 그것을 한번보세요. –