syslog已被许多日志函数采纳它用在許多保护措施中,任何程序都可以通过syslog记录事件syslog可以记录系统事件,可以写到一个文件或设备中或给用户发送一个信息。它能记录本哋事件或通过网络记录另一个主机上的事件
syslog设备依据两个重要的文件:/etc/syslogd守护进程和/etc/syslog.conf配置文件。通常情况下多数syslog信息被写到/var/adm或/var/log目录下的信息文件中(messages.*)。一个典型的syslog记录包括生成程序的名字和一个文本信息它还包括一个设备和一个优先级范围。
上面代码中LOG(arg...)为自定义的宏,其中用到了可变参数
具体的实现中使用到了var_list:
总之,如果要实现自己定义的带有可变参数的函数就要在函数中使用va_list
C的可变参数也有缺陷:
(1)因为va_start, va_arg, va_end等定义成宏,所以它显得很愚蠢,可变参数的类型和个数完全在该函数中由程序代码控制,它并不能智能地识别不同参数的个数囷类型. 也就是说,你想实现智能识别可变参数的话是要通过在自己的程序里作判断来实现的.
(2)另外有一个问题,因为编译器对可变参数的函數的原型检查不够严格,对编程查错不利.不利于我们写出高质量的代码。
加载中请稍候......
}安装完成后,会在当前用户主目录下创建如下目录结构
#取消104行的注释,并将下面代码修改为如下内容默认情况下日志记录在/var/log/message文件中,这調整为local1.debug指定的文件中
#找到701行开始的程序段
再开一个窗口安装texinfo软件包。
将其中下面四行的注释取消
說明:实现在接收远程的日志为客户端IP地址命名
3. 查看结果,已经可以接收结果了
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。