mdigger / graylog

Support for logging to the Graylog server in golang (slog handler)

Home Page:https://pkg.go.dev/github.com/mdigger/graylog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

graylog logger

Package graylog provides support for logging to the Graylog server.

It can send messages to the Graylog server using UDP or TCP. When using UDP as a transport layer, the messages sent are gzip compressed and automatically chunked.

import (
	"time"
	"github.com/mdigger/graylog"
	"golang.org/x/exp/slog"
)

func main() {
    // init graylog logger
    log, err := graylog.Dial("udp", "localhost:12201")
    if err != nil {
        panic(err)
    }
    defer log.Close()

    // send debug message with attributes
    log.Debug("Test message.\nMore info...",
        slog.Any("log", log),
        slog.Bool("bool", true),
        slog.Time("now", time.Now()),
        slog.Group("group",
            slog.String("str", "string value"),
            slog.Duration("duration", time.Hour/3)),
        slog.Any("object", struct {
            Text string `json:"text"`
        }{Text: "text"}),
    )

    // register as default
    slog.SetDefault(log.Logger)
}

About

Support for logging to the Graylog server in golang (slog handler)

https://pkg.go.dev/github.com/mdigger/graylog

License:MIT License


Languages

Language:Go 100.0%