Chinaunix首页 | 论坛 | 博客
  • 博客访问: 375499
  • 博文数量: 48
  • 博客积分: 743
  • 博客等级: 上士
  • 技术积分: 956
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-22 13:51
文章分类

全部博文(48)

文章存档

2015年(3)

2014年(17)

2012年(23)

2011年(5)

分类: LINUX

2014-04-11 15:56:32

1.     BSD syslogd的组成结构:
.
配置文件:/etc/syslog.conf

从上图可以看到相关的日志文件主要来源于三种途径:

(1)    内核:许多内核例程调用log函数产生log消息,另外klogd守护进程能够监听并得到内核消息,并发送给syslogd进程。

(2)    许多用户进程直接调用syslog函数产生日志消息。(会创建unix数据报套接字,connect套接字的众所周知的路径/dev/log写日志消息)

(3)    来自于TCP/IP网络连接的日志消息。该消息可能来自于自身的某个用户进程或者其它网络主机上的一个用户进程。端口是514.

我们主要讨论第二种情况下产生的日志消息。跟syslog相关的主要以下三个函数:

  1. #include <syslog.h>

  2. void openlog(const char *ident, int option, int facility);
  3. void syslog(int priority, const char *format, ...);
  4. void closelog(void);

  5. #include <stdarg.h>

  6. void vsyslog(int priority, const char *format, va_list ap);


日志文件中的每条消息一次包含如下一些内容:
(1)    事件发生的日期和时间,通常称为时间戳
(2)    事件发生原系统的主机名或计算机名
(3)    产生日志消息的程序名
(4)    消息文本自身,可能会超过一行

Apr 11 16:17:01 fussfuss1 CRON[14713]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

阅读(1113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~