Updated: 2017-04-02 02:41 EDT
/var/log/
System technicians need to know what is happening on the system, and Linux provides an extensive logging system. The logging handles logs generated by the Linux kernel and by other processes.
Logging of program and system messages is handled by a syslog process, a process that listens for connections from system programs and writes the messages it receives into log files.
System logging is configured via files in /etc
such as /etc/syslog.conf
, /etc/rsyslog.conf
, etc. The syslog process is started by system start-up scripts such as klogd
, sysklogd
, rsyslogd
, etc. The main daemon (program) name is usually something like syslogd
or rsyslogd
or klogd
.
$ ps laxww | grep syslog
$ ps laxww | grep klogd
Logs are usually stored under directory /var/log/
; but, the configuration file for the syslog
program can put the files anywhere. A useful command to use is one that shows which log files have changed (been modified) recently, using the “time” option to ls
:
$ ls -lt /var/log | less
/etc/init.d/rsyslog
$ ls -ld /etc/init.d/*log*
/etc/syslog.conf
or maybe /etc/rsyslog.conf
$ ls -ld /etc/*log*
/var/log/*
Where does the system write messages before the system knows what disks it has?
dmesg
command shows the in-memory kernel message ring buffer:
$ dmesg | less
/var/log/
somewhere