Go to file
Joachim Nilsson 234cd4e669 Add required feature flags for when building with -std=c11
These feature flags are required to build with modern GCC that default
to newser C standard.  However, we should never enforce a standard on
the user -- there are far too many old/embedded systems out there with
very old toolchains that just want bug fixes and minor features for an
otherwise stable system.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2018-09-24 20:06:24 +02:00
docs Archive old docs 2018-08-02 23:12:26 +02:00
man Activate built-in log rotation feature, disabled by default 2018-08-03 00:58:42 +02:00
src Add required feature flags for when building with -std=c11 2018-09-24 20:06:24 +02:00
.gitignore Integrate systemd unit files with paths from configure 2018-08-05 19:15:44 +02:00
.travis.yml Travis-CI: Remove ldd + size, for now 2018-08-02 23:10:41 +02:00
autogen.sh Relocate files to man/ and src/ and change to GNU configure & build 2018-08-02 22:52:40 +02:00
ChangeLog.md Activate built-in log rotation feature, disabled by default 2018-08-03 00:58:42 +02:00
configure.ac Integrate systemd unit files with paths from configure 2018-08-05 19:15:44 +02:00
COPYING Import of bare source for 1.3 1997-06-02 17:21:41 +00:00
klogd.service.in Add pointers to service man pages in unit files 2018-08-05 19:20:17 +02:00
Makefile.am Install ChangeLog.md and example syslog.conf in doc/ and add to dist 2018-08-02 23:30:11 +02:00
README.md Add new project README, with background and rationale 2018-08-02 22:52:40 +02:00
syslog.conf Upgrading to version 1.3-15 from the archive 1997-06-02 17:42:34 +00:00
syslogd.service.in Add pointers to service man pages in unit files 2018-08-05 19:20:17 +02:00

Kernel and System Logging Daemons

License Badge Travis Status

Table of Contents

Introduction

This is the continuation of the original Debian syslog daemon package by Martin Schulze, it implements two system log daemons:

The syslogd daemon is an enhanced version of the standard Berkeley utility program. It is responsible for providing logging of messages received from programs and facilities on the local host as well as from remote hosts.

The klogd daemon listens to kernel message sources and is responsible for prioritizing and processing operating system messages. The klogd daemon can run as a client of syslogd or optionally as a standalone program. klogd can now be used to decode EIP addresses if it can determine a System.map file.

Main differences from the original sysklogd are:

  • Built-in log-rotation support, useful for embedded systems. No need for cron and a separate logrotate daemon
  • FreeBSD socket receive buffer size patch
  • Avoid blocking syslogd if console is backed up
  • Touch PID file on SIGHUP, for integration with Finit
  • Support for configuring remote syslog timeouot

Build & Install

The GNU Configure & Build system use /usr/local as the default install prefix. In many cases this is useful, but this means the configuration files and cache files will also use that same prefix. Most users have come to expect those files in /etc/ and /var/run/ and configure has a few useful options that are recommended to use:

$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
$ make -j5
$ sudo make install-strip

You may want to remove the --prefix=/usr option.

Building from GIT

If you want to contribute, or just try out the latest but unreleased features, then you need to know a few things about the GNU build system:

  • configure.ac and a per-directory Makefile.am are key files
  • configure and Makefile.in are generated from autogen.sh, they are not stored in GIT but automatically generated for the release tarballs
  • Makefile is generated by configure script

To build from GIT you first need to clone the repository and run the autogen.sh script. This requires automake and autoconf to be installed on your system.

git clone https://github.com/troglobit/sysklogd.git
cd sysklogd/
./autogen.sh
./configure && make

GIT sources are a moving target and are not recommended for production systems, unless you know what you are doing!

Origin & References

This is the continuation of the original sysklogd by Martin Schulze. Now maintained by Joachim Nilsson. Please file bug reports, or send pull requests for bug fixes and proposed extensions at GitHub.