grafana/pkg/services/ngalert/logging/logging.go
gotjosh 6384f86fb9
Alerting: Allow the notifier to log (#34232)
* Alerting: Allow the notifier to log

The notifier upstream code uses go-kit as its logging library. The
grafana specific logger is not compatible with this API. In this PR, I
have created a wrapper that implements io.Writer to make them
compatible.
2021-05-17 18:06:47 +01:00

25 lines
591 B
Go

package logging
import (
"strings"
glog "github.com/grafana/grafana/pkg/infra/log"
)
// GoKitWrapper wraps around the grafana-specific logger to make a compatible logger for go-kit.
type GoKitWrapper struct {
logger glog.Logger
}
// NewWrapper creates a new go-kit wrapper for a grafana-specific logger
func NewWrapper(l glog.Logger) *GoKitWrapper {
return &GoKitWrapper{logger: l}
}
// Write implements io.Writer
func (w *GoKitWrapper) Write(p []byte) (n int, err error) {
withoutNewline := strings.TrimSuffix(string(p), "\n")
w.logger.Info(withoutNewline)
return len(p), nil
}