当前位置:  技术问答>linux和unix

请问:linux下的C编程中的syslog()怎么用? ----阿菜

    来源: 互联网  发布时间:2014-11-24

    本文导语:  请问:linux下的C编程中的syslog()怎么用?                                      ----阿菜 | 守护进程是脱离于任何终端的,所以他的任何信息都无法直接输出到标准输出设备...

请问:linux下的C编程中的syslog()怎么用? 

                                    ----阿菜

|
守护进程是脱离于任何终端的,所以他的任何信息都无法直接输出到标准输出设备和标准错误输出设备中,在Linux系统中提供了syslog()系统调用来解决这个问题。syslog()在shslog.h定义如下:

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


例: 
#include   
#include   
#include   
#include   
void main(void)  
{  
  if (fork()==0) {  
    for (;;) {  
      syslog(LOG_USER|LOG_INFO,"syslog programming testn");  
      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 : 除错讯息  




|
void openlog( char *ident, int option, int  facility)
你可以在程序刚开始的地方去调用该函数,他可以为没有指定优先级和设备的syslog指定优先级,设备和配置选项.如果未使用该函数,程序会在第一次调用syslog时自动使用默认的设置openlog.

void syslog( int priority, char *format, ...)
将后面的表达式输出到syslog中.例如syslog(LOG_NOTICE,"my age is %d",i_Age);

void closelog( void ) 
一般在程序结束前调用,关闭与syslog的连接.

再讲一下修改/etc/syslog.conf可以改变不同等级和设备的输出的log文件配置.

|
man syslog

    
 
 

您可能感兴趣的文章:

  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • 请问LINUX编程(内核编程)是在什么环境下用什么IDE编?
  • 请问什么是shell编程?一般都用shell编程实现什么?
  • 我想买台二手笔记本作编程,请问java编程的最低配置是多少,价几何
  • 请问linux/unix下编程与windows下编程有什么不同呢??
  • 请问linux中,如何编程知道硬盘是否格式化,如何编程实现格式化。最好有现成接口,谢谢。
  • 请问:如果懂unix编程,那么会懂linux编程吗?一般来说:它们有什么关系呢?
  • 菜鸟问题:请问要在Linux操作系统下完成TCP/IP网络编程,用什么编程工具好?
  • 请问linux下C/C++编程语言,同时请推荐相关书籍
  • 请问小红帽支持中文的c,c++,数据库,阿帕奇等编程吗?
  • 请问jsp,java在window和linux下编程有什么不同?
  • 请问怎样编程获得本机的MAC地址?还有能不能设置本机MAC地址?
  • 请问linux编程前景如何?
  • 看Unix环境高级编程,提到了V和bsd,有很多不同,但是没有提到Linux,请问linux跟BSD或者unix V 编程细节哪些不同的,特别是线程,进程,和socke
  • 请问:linux下面支持多线程编程吗?
  • 请问哪有linux编程的书下载?
  • 请问初学习Linux及Linux下编程的好书?
  • 请问 在fedora6.0,TCshell编程问题
  • 请问哪儿有java2编程详解的电子书下载??本人急需!!跟贴有分!!!
  • 请问linux编程获取时间的最小单位是......?
  • 【求助】请问一个关于Linux下Syslog远程日志收集的问题
  • 请问:syslog()这个函数将消息写到哪里文件里面去了啊?
  • 请问使用syslog()函数为什么报错?高分相送!
  • 请问关于syslog工作原理和源代码分析的资料
  • 请问:怎么获得linux系统syslog函数源码?
  • 请问:syslog能否用于多线程或者多进程的程序中进行写日志啊?
  • 请问如何才能看到syslog函数的源代码?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问这个方法如何调用?
  • 请问一个奇怪的问题!
  • 请问在网页中打开的新窗口,如何让其居中。
  • 请问我该学什么了
  • 请问安装zhcon,cxterm问题
  • 非常急! 请问daemontools 在red hat 9下的安装问题? 在线等待


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3