splunk_logger: move environment hook to splunk_logger pt1
this has to be in two steps: - duplicate to splunk_logger first - change and use the reference from within go.mod and the main code
This commit is contained in:
parent
812b331743
commit
0239db5323
2 changed files with 56 additions and 0 deletions
26
pkg/splunk_logger/environment_hook.go
Normal file
26
pkg/splunk_logger/environment_hook.go
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
package logger
|
||||
|
||||
import (
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type EnvironmentHook struct {
|
||||
Channel string
|
||||
}
|
||||
|
||||
func (h *EnvironmentHook) Levels() []logrus.Level {
|
||||
return []logrus.Level{
|
||||
logrus.DebugLevel,
|
||||
logrus.InfoLevel,
|
||||
logrus.WarnLevel,
|
||||
logrus.ErrorLevel,
|
||||
logrus.FatalLevel,
|
||||
logrus.PanicLevel,
|
||||
}
|
||||
}
|
||||
|
||||
func (h *EnvironmentHook) Fire(e *logrus.Entry) error {
|
||||
e.Data["channel"] = h.Channel
|
||||
|
||||
return nil
|
||||
}
|
||||
30
pkg/splunk_logger/environment_hook_test.go
Normal file
30
pkg/splunk_logger/environment_hook_test.go
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
package logger
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func makeLogrus(buf *bytes.Buffer) *logrus.Logger {
|
||||
return &logrus.Logger{
|
||||
Out: buf,
|
||||
Formatter: &logrus.TextFormatter{
|
||||
DisableTimestamp: true,
|
||||
DisableColors: true,
|
||||
},
|
||||
Hooks: make(logrus.LevelHooks),
|
||||
Level: logrus.DebugLevel,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestInfoWithEnvironment(t *testing.T) {
|
||||
buf := &bytes.Buffer{}
|
||||
l := makeLogrus(buf)
|
||||
l.AddHook(&EnvironmentHook{Channel: "test_framework"})
|
||||
l.Info("test message")
|
||||
require.Equal(t, "level=info msg=\"test message\" channel=test_framework\n", buf.String())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue