Small syslog server written in Java. Useful for testing, small installations or for forwarding messages to other logging solutions. Accepts RFC-3164 (BSD), RFC-5424 and GELF log messages on a configurable port, UDP and/or TCP. https://github.com/mnellemann/syslogd
Go to file
Mark Nellemann cf14736d1a Update README to reflect new changes. 2021-01-29 11:18:08 +01:00
doc Update README to reflect new changes. 2021-01-29 11:18:08 +01:00
gradle/wrapper Enable forwarding of received syslog messaged. 2021-01-26 15:24:23 +01:00
src Fixes for timestamp parsing. 2021-01-28 09:18:39 +01:00
.editorconfig Initial import 2020-09-22 20:33:22 +02:00
.gitattributes Initial import 2020-09-22 20:33:22 +02:00
.gitignore Cleanup. 2020-12-01 13:43:36 +01:00
LICENSE Add APACHE-2.0 license. 2020-09-22 20:45:16 +02:00
README.md Update README to reflect new changes. 2021-01-29 11:18:08 +01:00
bitbucket-pipelines.yml Fix dynamic version lookup. 2020-10-07 15:09:59 +02:00
build.gradle Improve rfc5424 parsing. 2021-01-27 01:29:38 +01:00
gradle.properties Refactoring and more tests. 2021-01-27 15:18:46 +01:00
gradlew Initial import 2020-09-22 20:33:22 +02:00
gradlew.bat Initial import 2020-09-22 20:33:22 +02:00
settings.gradle Initial import 2020-09-22 20:33:22 +02:00
slf4j.simpleLogger.log Refactor forwarding logic. 2021-01-26 21:44:23 +01:00

README.md

Simple Syslog Server

All received messages are written to stdout and optionally forwarded to another syslog server.

The syslog server is able to listen on UDP and/or TCP and parses syslog messages in either RFC5424 or RFC3164 (BSD) format.

The default syslog port (514) requires you to run syslogd as root / administrator. If you do not wish to do so, you can choose a port number (with the -p or --port flag) above 1024.

Usage Instructions

  • Install the syslogd package (.deb or .rpm) from downloads or build from source.
  • Run bin/syslogd, use the -h option for help :)
Usage: syslogd [-dhV] [--[no-]ansi] [--[no-]stdout] [--[no-]tcp] [--[no-]udp]
               [--rfc5424] [-f=<host>] [-p=<port>]
Simple Syslog Server
  -d, --debug            Enable debugging [default: 'false'].
  -f, --forward=<host>   Forward to UDP host[:port] (RFC-5424).
  -h, --help             Show this help message and exit.
      --[no-]ansi        Output ANSI colors [default: true].
      --[no-]stdout      Output messages to stdout [default: true].
      --[no-]tcp         Listen on TCP [default: true].
      --[no-]udp         Listen on UDP [default: true].
  -p, --port=<port>      Listening port [default: 514].
      --rfc5424          Parse RFC-5424 messages [default: RFC-3164].
  -V, --version          Print version information and exit.

Examples

Listening on a non-standard syslog port:

java -jar /path/to/syslogd-x.y.z-all.jar --port 1514

or, if installed as a deb or rpm package:

/opt/syslogd/bin/syslogd --port 1514

Listening on the standard syslog port (requires root privileges) and forwarding messages on to another log-system on a non-standard port.

java -jar /path/to/syslogd-x.y.z-all.jar --forward remotehost:1514

If you don't want any output locally (only forwarding), you can use the --no-stdout flag.

Notes

Syslog messages from AIX (and IBM Power Virtual I/O Servers) can be troublesome with some logging solutions. These can be received with syslogd and optionally forwarded on to Graylog, Splunk or other logging solutions.