Syslog-ng offers more than sysklogd, for example, we can log messages to different files based on pattern. It is possible to have both syslog-ng and sysklog, I will only configure syslog-ng and remove sysklog.
A simple way to "watch" log files is to use tail, with exception of faillog, see man faillog for more information.
$ cd /var/log $ sudo tail -f messages kernel cron auth
$ mkdir eventlog $ vim Pkgfile
# Description: replacement of the simple syslog() API # URL: http://www.balabit.com/network-security/syslog-ng/opensource-logging-system # Maintainer: Thomas Penteker, tek at serverop dot de # # Depends on: name=eventlog version=0.2.12 release=1 source=(http://ftp.uni-erlangen.de/pub/mirrors/gentoo/distfiles/${name}_${version}.tar.gz) build() { cd $name-$version ./configure \ --prefix=/usr \ --disable-nls \ --mandir=/usr/man make && make DESTDIR=$PKG install rm -rf $PKG/usr/doc }
$ fakeroot pkgmk -d $ sudo pkgadd /usr/ports/packages/eventlog#0.2.12-1.pkg.tar.gz
$ cd .. $ mkdir syslog-ng $ vim Pkgfile
# Description: alternate syslogging daemon # URL: http://www.balabit.com/network-security/syslog-ng/opensource-logging-system # Packager: c9 team, silvino at bk dot ru # Depends on: eventlog, glib, libwrap name=syslog-ng version=3.5.6 release=1 source=(http://balabit.com/downloads/files/syslog-ng/sources/$version/source/${name}_${version}.tar.gz syslog-ng.rc syslog-ng.conf) build() { cd $name-$version ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/var/libexec \ --localstatedir=/var \ --mandir=/usr/man \ --enable-dynamic-linking \ --sbindir=/sbin \ --enable-tcp-wraper make && make DESTDIR=$PKG install rm -rf $PKG/usr/doc rm -rf $PKG/usr/share/include/scl/syslogconf/README install -D -m 644 ../syslog-ng.conf $PKG/etc/syslog-ng.conf install -D -m 755 ../syslog-ng.rc $PKG/etc/rc.d/syslog-ng }
$ sudo prt-get depinst glib $ pkgmk -um $ pkgmk -uf $ fakeroot pkgmk -d $ sudo pkgadd /usr/ports/packages/syslog-ng#3.5.6-1.pkg.tar.gz
Change /etc/rc.conf, replace sysklog with syslog-ng;
# # /etc/rc.conf: system configuration # FONT=default KEYMAP=dvorak TIMEZONE="Europe/Lisbon" HOSTNAME=box SYSLOG=syslog-ng SERVICES=(syslog-ng lo net crond) # End of file
$ vim syslog-ng.rc
#!/bin/sh # # /etc/rc.d/syslog-ng: start/stop syslog-ng logging daemon # case $1 in start) /sbin/syslog-ng -f /etc/syslog-ng.conf -p /var/run/syslog-ng.pid ;; stop) killall -q /sbin/syslog-ng rm -f /var/run/syslog-ng.pid ;; restart) $0 stop sleep 2 $0 start ;; *) echo "usage: $0 [start|stop|restart]" ;; esac
Example of /etc/syslog-ng.conf that configures syslog-ng matching tools already installed in the system and some that are part of tools.
Description off global options used;
$ sudo sh /etc/rc.d/syslog-ng start $ sudo sh /etc/rc.d/sysklogd stop
This is part of the c9-doc Manual. Copyright (C) 2016 c9 team. See the file Gnu Free Documentation License for copying conditions.