With this package you can create your own syslog server with your own handlers for different kind of syslog messages

Overview

Using this library you can easy implement your own syslog server that:

  1. Can listen on multiple UDP ports and unix domain sockets.

  2. Can pass parsed syslog messages to your own handlers so your code can analyze and respond for them.

See documentation and example server.

Issues
  • Add support for complex tags using dashes, periods, and underscores.

    Add support for complex tags using dashes, periods, and underscores.

    This PR adds support for more complex tags by allowing the use of dashes, periods, and underscores in the tag field. With these, one could create a tag that describes a very specific type of log, e.g. "app-01.dfw_apache_access_prod" could tag logs coming from Apache's access log, running a server named app-01 in a production environment in the Dallas Fort-Worth datacenter.

    opened by chrissnell 4
  • Hello World example using the example_server

    Hello World example using the example_server

    Hey there,

    I would like to use your pkg to create a syslog-relay which applies some grok rules locally. As I am tipping my toe into it I wonder if you might add a hello world example.

    After building the server and starting it, there is no open port and I am not able to send a log. It seems I got something wrong... :(

    opened by ChristianKniep 1
  • Support for RFC 5424-style packets and extended runes in syslog tag via AddAllowedRunes() function

    Support for RFC 5424-style packets and extended runes in syslog tag via AddAllowedRunes() function

    This PR adds two new features to the package:

    • Support for RFC 5424-style packets
    • Support for runes within the syslog tag that would otherwise be RFC non-compliant. These runes can be specified with the AddAllowedRunes() function, which takes a string of runes that shall be allowed:
        s := syslog.NewServer()
        s.AddAllowedRunes("-._")  \\ Allows dashes, periods, and underscores in the syslog tag
        s.AddHandler(newHandler())
    
    opened by chrissnell 0
  • Handler.Queue() example

    Handler.Queue() example

    Hi Michał,

    I'm really new to Go and I'm working with your syslog package. I was reading through the source and noticed Handler.Queue() but I'm still struggling to understand channels, particularly how they might be used with your package. I'm writing a syslog proxy and I would like to be able to read in new messages and send them on their way without blocking. I was wondering if you might provide an example of how to do this.

    Thanks,

    Chris

    opened by chrissnell 2
Owner
Michał Derkacz
Michał Derkacz
Blazing fast syslog parser

A parser for Syslog messages and transports. Blazing fast Syslog parsers By @leodido. To wrap up, this package provides: a RFC5424-compliant parser an

InfluxData 417 Jun 15, 2022
a golang log lib supports level and multi handlers

go-log a golang log lib supports level and multi handlers Use import "github.com/siddontang/go-log/log" //log with different level log.Info("hello wo

siddontang 31 Jun 15, 2022
You can send massage to Discord, Slack and Telegram

introduction This package divided into three different packages which includes Telegram, Slack and Discord. Let's begin with Discord Discord To use di

Amir Salehi 0 Dec 7, 2021
Simple logger for Go programs. Allows custom formats for messages.

go-logger A simple go logger for easy logging in your programs. Allows setting custom format for messages. Preview Install go get github.com/apsdehal/

Amanpreet Singh 276 Jun 14, 2022
A simple to use log system, minimalist but with features for debugging and differentiation of messages

A simple to use log system, minimalist but with features for debugging and differentiation of messages

structy 4 Jan 27, 2022
Package httpretty prints the HTTP requests you make with Go pretty on your terminal.

httpretty Package httpretty prints the HTTP requests of your Go programs pretty on your terminal screen. It is mostly inspired in curl's --verbose mod

Henrique Vicente 257 Jun 15, 2022
Filez - A tiny package showing you File info

filez A tiny package showing you File info Install go get -v github.com/Cne3Rd/f

Mukaila Samsondeen 1 Feb 4, 2022
Felix Geisendörfer 28 Feb 9, 2022
BRUS - Parses your web server (e.g. nginx) log files and checks with GreyNoise how much noise your website is exposed to.

BRUS bbbbbb rrrrrr u u sssss b b r r u u s bbbbbb rrrrrr u u sssss b b r r u u s bbbbbb r r

dubs3c 1 May 29, 2022
Log-server - Implement log server for gwaylib/log/adapter/rmsq

Implement server of github.com/gwaylib/log Base on https://github.com/gwaycc/lserver Build . env.sh cd cmd/web go build Deploy Install supd(Debian sy

null 0 Jan 3, 2022
An Example about how React can be bootstrapped with Go backend

go-reactjs-example This is an exmple web use Golang(Yaelf95) And ReactJS Build Suggest install node through nvm npm install -g webpack npm install mak

Yahya Elfaqir 0 Nov 27, 2021
So you always leave a note

jWalterWeatherman Seamless printing to the terminal (stdout) and logging to a io.Writer (file) that’s as easy to use as fmt.Println. Graphic by JonnyE

Steve Francia 237 Jun 22, 2022
Pixie gives you instant visibility by giving access to metrics, events, traces and logs without changing code.

Pixie gives you instant visibility by giving access to metrics, events, traces and logs without changing code.

Pixie Labs 3.5k Jun 29, 2022
Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Hamed Yousefi 21 Jun 14, 2022
ChangeTower is intended to help you watch changes in webpages and get notified of any changes written in Go

ChangeTower is intended to help you watch changes in webpages and get notified of any changes written in Go

The Cats 33 Mar 8, 2022
Structured logging package for Go.

Package log implements a simple structured logging API inspired by Logrus, designed with centralization in mind. Read more on Medium. Handlers apexlog

Apex 1.2k Jun 28, 2022
lumberjack is a log rolling package for Go

lumberjack Lumberjack is a Go package for writing logs to rolling files. Package lumberjack provides a rolling logger. Note that this is v2.0 of lumbe

Nate Finch 3.4k Jun 23, 2022
A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets.

ozzo-log Other languages 简体中文 Русский Description ozzo-log is a Go package providing enhanced logging support for Go programs. It has the following fe

Ozzo Framework 118 Jan 11, 2022
Go package for reading from continously updated files (tail -f)

Go package for tail-ing files A Go package striving to emulate the features of the BSD tail program. t, err := tail.TailFile("/var/log/nginx.log", tai

HPE Helion 2.4k Jun 20, 2022