Syslog的规则分成三部分:设备名,优先级和log文件存储路径,即:
facility.priority action
多个selector之间用分号隔开,如下:
facility.priority;selector.priority action
多个facility之间用逗号分割,如下:
facility,facility.priority action
日志文件按严重程度可以分成八大类,下面按严重程度从低到高列出:
优先级是选择条件的第二个字段,它代表消息的紧急程度
priority 含义 符号 syslog序列号
debug 调试信息 log_debug 7
info 一般级别 log_info 6
none 不记录任何消息 not defined
notice 普通但重要的消息 log_notice 5
warning 警告消息 log_warning 4
err 出错信息 log_err 3
crit 关键 log_crit 2
alert 警报 log_alter 1
emerg 紧急 log_emerg 0
facility
auth 认证系统
authpriv 授权信息 4
cron
daemon 某些系统的守护程序 3
kern 内核信息 0
lpr 打印机的信息
mail 处理邮件的守护进程发出的信息 2
mark 定时发送消息的时标程序
news 新闻组消息
syslog 系统日志 5
user 用户进程 1
uucp UUCP程序
local0-local7 本地用户 log_localN 16-23
action 路径包括如下:
regular file : 即本地路径,必须以 "/ " 开始
named pipes : 命名管道 "|"
terminal and console: 终端和控制台 /dev/tty(0-7) /dev/console
remote machine: 将日志发送到另一台主机,以 @hostname 格式
user: 发送到指定用户,多个用户用逗号隔开
优先级限定符
* 把本项服务生成的所有日志消息都发送到操作动作指定的地点
= 只把本项服务生成的本优先级的日志消息都发送到操作动作指定的地点
! 把本项服务生成的所有日志消息都发送到操作动作指定的地点,但本优先级的消息不包括在内
举例
例一:
*.=crit;kern.none /var/adm/critical
记录所有优先级为crit的消息到/var/adm/critical文件中,但是不包括内核消息
例二:
*.=info;*.=notice;mail.none /var/log/messages
记录所有优先级为info和notice的消息到 /var/log/messages,但是mail 除外
例三:
*.=info;mail,news.none /var/log/messages
例四:
*.* @finlandia
重定向所有消息到远程主机finlandia
例五:
讲消息发送到用户 root 和joey