守护进程的日志实现
2009-12-10 13:53
330 查看
1. syslogd守护进程用于解决守护进程的日志记录问题,而日志信息保存的位置和记录的信息级别是在syslogd守护进程的配置文件中设定的。
2. 守护进程日志的实现主要有以下三个函数:
void openlog(const char *ident, int option, int facility);
void syslog(int priority, const char *format,...);
void closelog(void);
openlog:用于打开系统日志连接,只有在打开连接后,才能使用syslog向日志文件中添加信息。
closelog:关闭打开的系统日志文件(在实际编程中,可选)
参数简介:
ident:指定信息来源
option:
facility:
priority:
3. 参考代码
2. 守护进程日志的实现主要有以下三个函数:
void openlog(const char *ident, int option, int facility);
void syslog(int priority, const char *format,...);
void closelog(void);
openlog:用于打开系统日志连接,只有在打开连接后,才能使用syslog向日志文件中添加信息。
closelog:关闭打开的系统日志文件(在实际编程中,可选)
参数简介:
ident:指定信息来源
option:
option | 说明 |
LOG_CONS | 如果信息发送给syslogd时发生错误,直接将信息输出到终端 |
LOG_NDELAY | 立即打开与系统日志的连接(通常,在产生第一条日志信息的情况下才会打开与日记系统的连接) |
LOG_NOWAIT | 在记录日志信息时,不等待可能的子进程的创建 |
LOG_ODELAY | 类似于LOG_NDELAY,日记系统在调用syslog函数时才创建 |
LOG_PERROR | 将信息写入日志的同时,也发送到标准错误输出 |
LOG_PID | 每条日志信息包括进程号 |
facility | 说明 |
LOG_KERN | kern |
LOG_USER | user |
LOG_MAIN | main |
LOG_DAEMON | daemon |
LOG_AUTH | auth |
LOG_SYSLOG | syslog |
LOG_LPR | lpr |
LOG_NEWS | news |
LOG_UUCP | uucp |
LOG_CRON | cron |
LOG_AUTHPRIV | authpriv |
LOG_FTP | ftp |
LOG_LOCAL0 ~ LOG_LOCAL7 | local0 ~ local7 |
Priority | syslog.conf中level的取值 |
LOG_EMERG | emerg |
LOG_ALERT | alert |
LOG_CRIT | crit |
LOG_ERR | err |
LOG_WARNING | warning |
LOG_NOTICE | notice |
LOG_INFO | info |
LOG_DEBUG | debug |
#include <stdio.h> #include <syslog.h> int main(int argc, char *argv[]) { openlog(argv[0], LOG_CONS | LOG_PID, LOG_USER); int count = 0; while(count < 5) { syslog(LOG_INFO, "%d, log info test...", count); ++count; } closelog(); return 0; }
相关文章推荐
- 守护进程日志的实现
- windows下bat批处理实现守护进程(有日志)
- Linux守护进程的日志实现
- windows下bat批处理实现守护进程(有日志)
- windows下bat批处理实现守护进程(有日志)
- windows下bat批处理实现守护进程(有日志)
- windows下bat批处理实现守护进程(有日志)
- windows下bat批处理实现守护进程(有日志)
- windows下bat批处理实现守护进程(有日志)
- Linux-守护进程的实现
- Linux 守护进程的原理与实现
- 守护进程(setsid、getpgrp、setpgid、getpgid)以及系统日志(openlog、syslog、closelog)
- 在Linux下利用crond实现一个定时任务并完成一个守护(精灵)进程
- php实现简单的守护进程
- 实现双进程守护
- 用c#实现通用守护进程
- NDK层实现双进程守护
- xinetd超级守护进程简介——实现简单访问控制
- perl实现对各种命令的守护进程,能够自动重启进程