当前位置--> 首 页 --> 文 章 -->Linux Develop
|
|
※阅读文章※ |
Linux程式设计- 6.syslog作者:不祥 [文章出自: www.fanqiang.com] 在Linux下有个syslogd的Daemon程式,syslog是个系统管理员必看的档案。因此,如果您的程式有除错或安全讯息要显示,写到syslog是个很好的选择。 syslog有三个函数,使用上,一般您只需要用syslog(...)这个函数即可,一般使用状况下,openlog/closelog是可有可无的。 syslog()中的priority是facility及level的组合,其後参数的用法与printf无异。 例: #include #include #include #include void main(void) { if (fork()==0) { for (;;) { syslog(LOG_USER|LOG_INFO,"syslog programming test\n"); sleep(10); } } } 检验: tail -f /var/log/messages Mar 22 01:42:51 foxman log: syslog programming test Mar 22 01:43:31 foxman last message repeated 4 times Mar 22 01:44:31 foxman last message repeated 6 times Mar 22 01:45:31 foxman last message repeated 6 times Mar 22 01:46:21 foxman last message repeated 5 times -------------------------------------------------------------------------------- void openlog( char *ident, int option, int facility) void syslog( int priority, char *format, ...) void closelog( void ) option 用於openlog()的option参数可以是以下几个的组合: LOG_CONS : 如果送到system logger时发生问题,直接写入系统console。 LOG_NDELAY : 立即开启连接(通常,连接是在第一次写入讯息时才打开的)。 LOG_PERROR : 将讯息也同时送到stderr LOG_PID : 将PID含入所有讯息中 facility facility参数用来指定何种程式在记录讯息,这可让设定档来设定何种讯息如何处理。 LOG_AUTH : 安全/授权讯息(别用这个,请改用LOG_AUTHPRIV) LOG_AUTHPRIV : 安全/授权讯息 LOG_CRON : 时间守护神专用(cron及at) LOG_DAEMON : 其它系统守护神 LOG_KERN : 核心讯息 LOG_LOCAL0到LOG_LOCAL7 : 保留 LOG_LPR : line printer次系统 LOG_MAIL : mail次系统 LOG_NEWS : USENET news次系统 LOG_SYSLOG : syslogd内部所产生的讯息 LOG_USER(default) : 一般使用者等级讯息 LOG_UUCP : UUCP次系统 level 决定讯息的重要性. 以下的等级重要性逐次递减: LOG_EMERG : 系统无法使用 LOG_ALERT : 必须要立即采取反应行动 LOG_CRIT : 重要状况发生 LOG_ERR : 错误状况发生 LOG_WARNING : 警告状况发生 LOG_NOTICE : 一般状况,但也是重要状况 LOG_INFO : 资讯讯息 LOG_DEBUG : 除错讯息 文章加入时间: 2004-11-17 14:56:32 责任编辑: w9 (2885 人次查阅) |