注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

多多的爹

 
 
 

日志

 
 

读程序,学习Linux编程(十四)  

2010-08-19 21:39:33|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

3.7. 输出日志

接下来看238行

238 openlog("tinyproxy", LOG_PID, LOG_DAEMON);

tinyproxy是精灵程序,在后面会专门说明,这里简单说明一下。精灵程序在后台运行,没有任何窗口,也没有任何的输出窗口,有点像Windows下的服务程序。通常命令行程序都通过在终端窗口输出字符来记录其当前运行状态,但是由于精灵程序没有终端,所以它必须自己找一个地方输出运行状态。一种通用的方法是自己搞一个log文件,这种方法的移植性当然是最高的,同时也是最麻烦的,因为要操心的事情太多了,没有把最主要的精力放到业务逻辑上去。另外还有一种办法,使用Linux提供的日志功能。Linux提供了三个函数:

#include

void openlog(const char *ident, int option, int facility);

void syslog(int priority, const char *format, ...);

void closelog(void);

两个参数option和facility参考man。需要说明的是,在参数format中,用%m表示错误信息。

openlog和closelog都是可选的,不调用openlog,第一次调用syslog时,openlog被自动调用。

下面是一个syslog例子:

#include

main()

{

openlog("myapp", LOG_PID, LOG_USER);

syslog(LOG_ERR, "This is an error");

syslog(LOG_WARNING, "This is a warning");

syslog(LOG_NOTICE, "This is a notice.");

syslog(LOG_INFO, "This is an infomation");

closelog();

}

如何查看syslog?用以下命令:

more /var/log/syslog

避免数据被淹没,用grep来过滤:

more /var/log/syslog | grep myapp

clip_image002

  评论这张
 
阅读(14)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017