syslog

Syslog çalışan sistem servislerinin loglarını tutar. Bu loglar /var/log/messages içerisinde bulunur. Bu sayede sistemle ilgili tüm logları buradan takip edebilirsiniz.

# logları takip etmek için aşağıdaki komut kullanılabilir.
$ tail -f /var/log/messages

Servisin başlatılması

syslogd komutunu kullanarak servisi başlatabilirsiniz. Bu komut busybox tarafından sağlanır.

# komutla ilgili detaylara --help parametresi ile ulaşabilirsiniz.
$ syslogd

Eğer isterseniz aşağıdaki gibi bir openrc servisi yazıp kullanabilirsiniz.

#!/sbin/openrc-run

description="Message logging system"

name="busybox syslog"
command="/bin/busybox"
command_args="syslogd -n"
pidfile="/run/syslogd.pid"
command_background=true

depend() {
      need clock hostname localmount
      provide logger
}

Log yazma

logger komutunu kullanarak log yazdırabilirsiniz.

$ logger "hello world"

bununla birlikte aşağıdaki C kodunu kullanarak log yazmak mümkündür.

#include <syslog.h>
#include <unistd.h>
int main(int argc, char** argv){
    setlogmask (LOG_UPTO (LOG_NOTICE));
    openlog ("test", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
    syslog (LOG_NOTICE, "Hello World from %d", getuid ());
    closelog ();
    return 0;
}

Not: /dev/log konumundaki unix sockete bağlanıp log yollamayı oradan da yapabilirsiniz.