1. syslogd和rsyslogd
syslogd是Linux下的一个记录日志文件服务。从结构来说,可以理解为这个服务下面有一系列的子服务,例如mail、auth、cron、kern等等,这些子服务对外提供日志记录的功能,而当其它的程序或服务需要记录日志的时候,就可以直接调用这些子服务将日志记录到设定的地方。而配置这整个守护进程以及其子服务的地方就是/etc/syslog.conf这个文件。
而目前不少的Linux发行版已经用rsyslogd将syslogd代替了。rsyslogd是syslogd的升级版,其配置语法与syslogd的配置文件一致。ubuntu-gnome-16.04使用的是rsyslogd。
注:
在用户空间有专门用于记录系统日志的程序,统称为“syslog守护进程”。早期及现在的大部分嵌入式系统使用的是klogd+syslogd组合,现在大多数发行版都使用rsyslogd或者syslogd-ng。
如果需要修改系统日志配置,修改以下两个文件。
1)/etc/rsyslog.conf
2)/etc/rsyslog.d/50-default.conf 日志文件的记录规则和路径
操作:
sudo service rsyslog restart
sudo service rsyslog stop
sudo service rsyslog start
2. 查看linux日志的三种途径
1)dmesg
printk()打印的日志会写到kernel ring buffer(环缓冲区)中,dmesg是从kernel ring buffer中读取内核日志信息。
2)/var/log/
系统所有日志(包括用户日志和系统内核日志)均记录在