mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* 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.
25 lines
591 B
Go
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
|
|
}
|