linux 日志编程(总结)
来源:互联网 发布:mac系统装机必备软件 编辑:程序博客网 时间:2024/05/16 09:37
日志主要涉及3个函数,分别是openlog、syslog和closelog函数。表8.4所示为这3个函数的具体信息。
openlog、syslog和closelog函数
说明:openlog函数用于打开系统日志连接。只有在打开连接后,才能使用syslog函数向日志文件中添加日志信息。closelog函数用于关闭打开的系统日志连接,该函数的调用在实现中是可选择的。
openlog函数中的第1个参数为ident,该参数常用来表示信息的来源。ident指向的字符信息会被固定地添加在每行日志的前面。第2个参数option用于指定openlog函数和接下来调用的syslog函数的控制标志。option的取值情况如表8.5所示,可以单独取其中的某个值,也可以通过与运算来获得多种特性。第3个参数为facility,这个要与syslogd守护进程的配置文件对应,日志信息会写入syslog.conf文件指定的位置。
openlong函数中的option取值表
openlog函数参数facility取值
syslog函数中的第一个参数priority表示消息的级别。与openlog函数中的facility参数类似,priority参数与level也存在对应的关系。
syslog函数参数priority取值
syslog函数的第二个参数为消息的格式,之后是格式对应的参数。函数的使用类似于printf函数。
#include <stdio.h>
#include <syslog.h>
int main(int argc,char* argv[])
{
openlog("HEMM",LOG_CONS | LOG_PID, LOG_USER);
int count=0;
while(count<5){
syslog(LOG_INFO,"%d, log info test...",count);
count++;
}
closelog();
return 0;
}
调用syslog函数时,指定的priority为LOG_INFO,对应于syslog.conf中的info优先级。而调用openlog函数的facility为LOG_USER,对应于syslog.conf中facility取user的情况。查找syslog.conf中的facility.level为user.info的规则,如图8.7所示。可知,日志文件为/var/log/message。
由于查看/var/log下的日志需要root权限,使用su切换到root用户。使用tail命令查看message文件中的日志信息,发现相关信息已经通过syslogd守护进程记录在了/var/log/message日志文件中
Jul 13 11:54:08 localhost HEMM[7631]: 0, log info test...
Jul 13 11:54:08 localhost HEMM[7631]: 1, log info test...
Jul 13 11:54:08 localhost HEMM[7631]: 2, log info test...
Jul 13 11:54:08 localhost HEMM[7631]: 3, log info test...
Jul 13 11:54:08 localhost HEMM[7631]: 4, log info test...
- linux 日志编程(总结)
- linux 日志编程(总结)
- linux 日志编程(总结)
- linux 日志编程(总结)
- linux log 日志编程
- linux系统日志编程
- linux日志文件系统总结
- Linux日志文件总结
- Linux查看日志总结
- Linux 编程总结(不断更新)
- Linux 学习日志:Linux, Linux C编程
- Linux系统日志学习总结
- linux 日志机制syslogd总结
- linux日志syslog知识总结
- linux日志机制syslogd总结
- linux日志机制syslogd总结
- Linux设备驱动编程编程总结(一)-------模块编程
- linux编程之日志服务与日志编程
- Android 修改dialog背景
- 字典问题---c实现
- Oracle表分区:范围分区
- 解决win7下文件拖拽无效的问题
- c可变参数
- linux 日志编程(总结)
- Oracle.表分区:散列分区
- object-c第一个程序:Hello World
- 设计模式六大原则之单一职责原则
- Android_JSON解析
- iso开发协议和委托
- DNS 域名信息主动获取及备份系统的设计和实现
- Build and install gcc on FEDORA 14 X84_64
- 一日一点RakNet(52)--SQLite3Plugin