New Relic for Go 로깅은 표준 Go 로그 패키지 와 New Relic Logger 패키지를 사용합니다. 로깅은 New Relic 통합 문제 를 해결하는 데 유용합니다. 예를 들어 설치 또는 구성 문제가 있습니다.
로그 파일 쓰기
로그 및 감사 파일 작성을 위해 Go 에이전트 메서드를 사용하려면 에이전트 GitHub 저장소의 log.go를 참조하세요.
Logrus 통합
뉴렐릭은 다양한 사용 사례에 대해 두 가지 Logrus 통합을 제공합니다.
에이전트 로깅(Go 에이전트 디버그 메시지용)
이 통합 기능을 사용하여 Go 에이전트의 내부 로그 메시지를 Logrus로 전송할 수 있습니다. 문제 해결, 에이전트 자체 해결에 유용합니다.
통합: nrlogrus
에이전트 로깅을 위해 뉴렐릭 Logrus 통합을 사용하는 예는 다음과 같습니다.
필요한 패키지를 가져오세요:
import ("os""github.com/newrelic/go-agent/v3/integrations/nrlogrus""github.com/newrelic/go-agent/v3/newrelic""github.com/sirupsen/logrus")Go 에이전트가 에이전트 로깅에 Logrus를 사용하도록 구성합니다.
app, err := newrelic.NewApplication(newrelic.ConfigAppName("Your Application Name"),newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")),func(config *newrelic.Config) {logrus.SetLevel(logrus.DebugLevel)config.Logger = nrlogrus.StandardLogger()},)
애플리케이션 로그(컨텍스트 내 로그)
이 통합을 사용하여 자동 트레이스 상관 관계를 통해 로그러스 로그러스 로그를 뉴렐릭으로 보내세요. 이를 통해 컨텍스트 내 로그인이 가능해지며, 앱의 UI 에서 직접 오류 및 트레이스와 관련된 로그인 메시지를 볼 수 있습니다.
다음은 기능 로깅을 위해 뉴렐릭 Logrus 통합을 사용하는 예입니다.
필요한 패키지를 가져오세요:
import ("context""os""github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrlogrus""github.com/newrelic/go-agent/v3/newrelic""github.com/sirupsen/logrus")뉴렐릭 응답터를 사용하도록 Logrus를 구성합니다.
app, err := newrelic.NewApplication(newrelic.ConfigAppName("Your Application Name"),newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")),newrelic.ConfigAppLogForwardingEnabled(true),)logger := logrus.New()logger.SetFormatter(nrlogrus.NewFormatter(app, &logrus.TextFormatter{}))애플리케이션에서 트랜잭션 컨텍스트를 사용하여 로거를 사용하십시오.
txn := app.StartTransaction("myTransaction")defer txn.End()ctx := newrelic.NewContext(context.Background(), txn)logger.WithContext(ctx).Info("This log will be correlated with the transaction")
더 많은 예시를 보려면 logcontext-v2/nrlogrus 예제를 참조하세요.
기타 지원되는 로깅 통합
Logrus 외에도 뉴렐릭은 다른 여러 인기 있는 Go 로깅 라이브러리에 대한 통합을 제공합니다.
에이전트 로깅 통합
이러한 통합 기능은 Go 에이전트의 내부 디버그 메시지를 로깅 프레임워크로 전송합니다.
- nrzap - Uber의 Zap 로거와의 통합
- nrslog - Go 표준 라이브러리
log/slog패키지와의 통합 - nrzerolog - Zerolog와의 통합
- nrlogxi - Logxi와의 통합
컨텍스트 통합의 로그
이러한 통합은 로그 기록에 대한 컨텍스트에서 로그를 활성화합니다.
- logcontext-v2/zerologWriter - 트레이스 상관관계를 사용하여 Zerolog 로그 메시지를 뉴렐릭에게 보냅니다.
- logcontext-v2/logWriter - 트레이스 상관관계를 통해 표준 라이브러리
log패키지 메시지를 뉴렐릭으로 보냅니다.
각 통합은 위의 Logrus 예시와 유사한 패턴을 따릅니다. 자세한 사용 방법 및 예시는 해당 GitHub 저장소를 참조하세요.
APM 및 인프라 데이터에 대한 로그 보기
컨텍스트 내 로그인을 사용하면 앱의 UI 에서 오류 및 트레이스와 관련된 로그인 메시지를 직접 볼 수 있습니다. 쿠버네티스 클러스터와 같은 컴퓨팅 데이터 의 컨텍스트에서 게시를 볼 수도 있습니다. 다른 UI 페이지로 전환할 필요가 없습니다.
컨텍스트 내 로그를 활성화하려면 위에 나열된 컨텍스트 내 로그 통합 기능 중 하나를 사용하십시오. 특히 Logrus의 경우 logcontext-v2/nrlogrus 통합을 참조하십시오.