1
0
mirror of https://github.com/rancher/norman.git synced 2025-07-14 15:45:46 +00:00
norman/event/logger.go
2017-12-16 01:42:53 -07:00

40 lines
1.0 KiB
Go

package event
import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/tools/record"
)
type Logger interface {
Info(obj runtime.Object, message string)
Infof(obj runtime.Object, messagefmt string, args ...interface{})
Error(obj runtime.Object, message string)
Errorf(obj runtime.Object, messagefmt string, args ...interface{})
}
type logger struct {
recorder record.EventRecorder
}
func (l *logger) Info(obj runtime.Object, message string) {
l.recorder.Event(obj, "Normal", "Message", message)
}
func (l *logger) Infof(obj runtime.Object, messagefmt string, args ...interface{}) {
l.recorder.Eventf(obj, "Normal", "Message", messagefmt, args...)
}
func (l *logger) Error(obj runtime.Object, message string) {
l.recorder.Event(obj, "Warning", "Message", message)
}
func (l *logger) Errorf(obj runtime.Object, messagefmt string, args ...interface{}) {
l.recorder.Eventf(obj, "Warning", "Message", messagefmt, args...)
}
func NewLogger(recorder record.EventRecorder) Logger {
return &logger{
recorder: recorder,
}
}