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) }