This commit is contained in:
2022-12-01 17:56:11 +01:00
parent a6b4e5592a
commit 6188022ad6
5 changed files with 272 additions and 0 deletions

14
fluentd/config.go Normal file
View File

@@ -0,0 +1,14 @@
package fluentd
import (
"strconv"
"strings"
)
func ParseAddr(addr string) (string, int) {
p := strings.Split(addr, ":")
fHost := p[0]
fPort, _ := strconv.Atoi(p[1])
return fHost, fPort
}

41
fluentd/logger.go Normal file
View File

@@ -0,0 +1,41 @@
package fluentd
import (
"fmt"
"log"
"github.com/fluent/fluent-logger-golang/fluent"
)
type Logger struct {
fluent *fluent.Fluent
appName string
}
func NewLogger(appName, fHost string, fPort int) *Logger {
config := fluent.Config{
FluentHost: fHost,
FluentPort: fPort,
// WriteTimeout: -1,
}
fluent, err := fluent.New(config)
if err != nil {
log.Panicf("Error connecting to %s: %v", fHost, err)
}
return &Logger{fluent, appName}
}
func (l *Logger) Log(format string, v ...any) {
mapData := map[string]string{
"message": fmt.Sprintf(format, v...),
}
err := l.fluent.Post(l.appName, mapData)
if err != nil {
log.Println("Error sending log: ", err)
}
}
func (l *Logger) Close() error {
return l.fluent.Close()
}