# RSyslog - Documentation

Rsyslog is an enhanced syslogd supporting, among others, MySQL, PostgreSQL, failover log destinations, syslog/tcp, fine grain output format control, high precision timestamps, queued operations and the ability to filter on any message part. It is quite compatible to stock sysklogd and can be used as a drop-in replacement. Its advanced features make it suitable for enterprise-class, encryption protected syslog relay chains while at the same time being very easy to setup for the novice user. And as we know what enterprise users really need, there is also professional rsyslog support available directly from the source!

Please visit the rsyslog sponsor's page to honor the project sponsors or become one yourself! We are very grateful for any help towards the project goals.

This documentation is for version 7.2.7 (v7.2-stable branch) of rsyslog. Visit the rsyslog status page to obtain current version information and project status.

If you like rsyslog, you might want to lend us a helping hand. It doesn't require a lot of time - even a single mouse click helps. Learn how to help the rsyslog project. Due to popular demand, there is now a side-by-side comparison between rsyslog and syslog-ng.

If you are upgrading from rsyslog v2 or stock sysklogd, be sure to read the rsyslog v3 compatibility notes, and if you are upgrading from v3, read the rsyslog v4 compatibility notes, if you upgrade from v4, read the rsyslog v5 compatibility notes, and if you upgrade from v5, read the rsyslog v6 compatibility notes. if you upgrade from v6, read the rsyslog v7 compatibility notes.

Rsyslog will work even if you do not read the doc, but doing so will definitely improve your experience.

Follow the links below for the

- troubleshooting rsyslog problems
- configuration file format (rsyslog.conf)
- a regular expression checker/generator tool for rsyslog
- property replacer, an important core component
- rsyslog bug list
- understanding rsyslog message parsers
- backgrounder on generic syslog application design
- description of rsyslog modules
- rsyslog packages

To keep current on rsyslog development, follow Rainer's twitter feed.

We have some in-depth papers on

- installing rsyslog
- obtaining rsyslog from the source repository
- rsyslog and IPv6 (which is fully supported)
- native TLS encryption for syslog
- using multiple rule sets in rsyslog
- ssl-encrypting syslog with stunnel
- writing syslog messages to MySQL (and other databases as well)
- writing syslog messages to PostgreSQL (and other databases as well)
- writing massive amounts of syslog messages to a database
- reliable forwarding to a remote server
- using php-syslog-ng with rsyslog
- recording the syslog priority (severity and facility) to the log file
- preserving syslog sender over NAT (online only)
- an overview and howto of rsyslog gssapi support
- debug support in rsyslog
- Developer Documentation
  - building rsyslog from the source repository
  - writing rsyslog output plugins
  - the rsyslog message queue object (developer's view)

Our rsyslog history page is for you if you would like to learn a little more on why there is an rsyslog at all. If you are interested why you should care about rsyslog at all, you may want to read Rainer's essay on "why the world needs another syslogd".

Documentation is added continuously. Please note that the documentation here matches only the current version of rsyslog. If you use an older version, be sure to use the doc that came with it.

You can also browse the following online resources:

- the rsyslog wiki, a community resource which includes rsyslog configuration examples
- rsyslog online documentation (most current version only)
- rsyslog discussion forum - use this for technical support
- rsyslog video tutorials
- rsyslog change log
- rsyslog FAQ
- syslog device configuration guide (off-site)
- rsyslog discussion forum - use this for technical support
- deutsches rsyslog forum (forum in German language)

And don't forget about the rsyslog mailing list. If you are interested in the "backstage", you may find Rainer's blog an interesting read (filter on syslog and rsyslog tags). Or meet Rainer Gerhards at Facebook or Google+. If you would like to use rsyslog source code inside your open source project, you can do that without any restriction as long as your license is GPLv3 compatible. If your license is incompatible to GPLv3, you may even be still permitted to use rsyslog source code. However, then you need to look at the way rsyslog is licensed.

Feedback is always welcome, but if you have a support question, please do not mail Rainer directly (why not?) - use the rsyslog mailing list or rsyslog formum instead.