syslogd是UNIX系统的一个常见的组件,用于执行系统日志记录活动。
syslogd从一组日志源(如:/dev/log和/dev/klog)中读取数据,并按/etc/syslog.conf中的说明处理这些日志消息。通过syslog()调用,将应用程序日志消息记录到syslog中。
下表列出了/usr/include/syslog.h中定义的优先级和设备资源:
下表介绍了syslog设备资源消息:
使用 /etc/syslog.conf,可以根据优先级和设备过滤消息。可以将消息定向到:
特定日志文件
控制台
指定用户。如果该用户已登录,消息将被发送到其终端。
所有登录用户
转发到远程系统。
syslogd从一组日志源(如:/dev/log和/dev/klog)中读取数据,并按/etc/syslog.conf中的说明处理这些日志消息。通过syslog()调用,将应用程序日志消息记录到syslog中。
syslog消息格式
syslog消息采用一种包含可选优先级和设备的标准格式,优先级指示消息的紧急程度,设备指示发布消息的子系统。下表列出了/usr/include/syslog.h中定义的优先级和设备资源:
syslog优先级
消息 | 说明 |
LOG_EMERG | 混乱状况,通常广播到所有用户。 |
LOG_ALERT | 应立即更正的状况,如系统数据库损坏。 |
LOG_CRIT | 紧急状况,如硬件设备错误。 |
LOG_ERR | 一般错误。 |
LOG_WARNING | 警告消息。 |
LOG_NOTICE | 不属于错误但可能需要特别注意的状况。 |
LOG_INFO | 信息性消息。 |
LOG_DEBUG | 该消息包含通常仅在调试程序时使用的信息。 |
syslog设备资源消息
消息 | 说明 |
LOG_KERN | 由内核生成的消息。任何用户进程都无法生成这些消息。 |
LOG_USER | 由随即用户进程生成的消息。如果未指定任何设备,则为缺省设备标识符。 |
LOG_MAIL | 来自邮件系统的消息。 |
LOG_DAEMON | 来自inetd、ftpd等系统守护程序的消息。 |
LOG_AUTH | 来自login、su、getty等授权系统的消息。 |
LOG_SYSLOG | 由syslogd守护程序内部生成的消息。 |
LOG_LPR | 来自lp、lpsched等打印机假脱机系统的消息。 |
LOG_NEWS | 来自新闻系统的消息。 |
LOG_UUCP | 来自UUCP系统的消息。 |
LOG_CRON | 来自CRON守护程序的消息。 |
LOG_LOCAL0-LOG_LOCAL7 | 保留供本地使用。 |