pkg: Add logger package from image-builder into pkg folder
rename and adapt it to be usable by composer
This commit is contained in:
parent
fdf1364bb5
commit
43f43c84f6
2 changed files with 191 additions and 0 deletions
44
pkg/splunk_logger/splunk_hook.go
Normal file
44
pkg/splunk_logger/splunk_hook.go
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
package logger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type SplunkHook struct {
|
||||
sl *SplunkLogger
|
||||
}
|
||||
|
||||
func NewSplunkHook(host, port, token, source string) (*SplunkHook, error) {
|
||||
url := fmt.Sprintf("https://%s:%s/services/collector/event", host, port)
|
||||
hostname, err := os.Hostname()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &SplunkHook{
|
||||
sl: NewSplunkLogger(url, token, source, hostname),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (sh *SplunkHook) Fire(entry *logrus.Entry) error {
|
||||
msg, err := entry.String()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return sh.sl.LogWithTime(entry.Time, msg)
|
||||
}
|
||||
|
||||
func (sh *SplunkHook) Levels() []logrus.Level {
|
||||
return []logrus.Level{
|
||||
logrus.PanicLevel,
|
||||
logrus.FatalLevel,
|
||||
logrus.ErrorLevel,
|
||||
logrus.WarnLevel,
|
||||
logrus.InfoLevel,
|
||||
logrus.DebugLevel,
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue