2016-07-05 2 views
3

다른 언어로 여러 출력에 로그하는 방법이 있습니까?여러 출력에 로깅 이동

Info 레벨의 stdout과 타임 스탬프가있는 디버그 레벨의 파일에 동시에 로그하는 프로그램이 필요합니다.

Result was: Successful 

그리고 파일을 :

log.Debug("Entering some func") 
res := func() 
log.Infof("Result was: %s", res) 

내가 콘솔 인쇄 볼 수 있습니다 때마다 I 코드처럼

2015-03-26T01:27:38-04:00 [DEBU]: Entering some func 
2015-03-26T01:27:38-04:00 [INFO]: Result was: Successful 

내가 logrus 및 GLog가를 사용을하지만, 이 기능을 찾을 수 없습니다. 다른 패키지 나 내가 코딩 할 수있는 것이 있습니까?

답변

4

Go-logging은 파일, syslog 등과 같은 다양한 로깅 백엔드를 지원합니다. 다중 백엔드는 백엔드 및 로거마다 서로 다른 로그 수준으로 설정할 수 있습니다. 예 : here.

Lumberjack 또한 로그를 롤링 파일에 기록하는 데 사용할 수 있습니다. 다음은 example입니다.

1

go-logging 라이브러리를 사용하는 경우 stdout 및 파일에 쓸 두 개의 "백엔드"를 설정할 수 있습니다.

여기에 일부 코드를 복사 하겠지만 위키의 예제는 원하는대로 정확하게 수행합니다.