Linux日志输出相关函数说明

本文介绍了Linux系统日志管理中的关键函数openlog、closelog和syslog。openlog用于开启日志连接,参数包括程序标识、选项和设施参数;closelog用于关闭日志描述符;syslog函数用于生成日志消息,其参数包括优先级和格式化的消息内容。示例代码展示了如何在程序中使用这些函数记录日志。
摘要由CSDN通过智能技术生成

1.openlog() 函数介绍:

函数格式:

#include<syslog.h>
void openlog (char*ident,int option ,int facility);

函数作用
该函数用于打开一个向系统日志记录程序的一个连接,打开该连接后就可以通过syslog()或Vsyslog()向系统中添加日志信息。

参数介绍:

  • ident参数介绍
    用来表识哪个程序的log 输出,通常定位为程序名称。如wpa_supplicant。
    如果该参数为NULL 则默认使用程序名称。

  • option 参数介绍:
    主要是一些参数设置,如LOG_PID ,LOG_NDELAY.
    LOG_PID: 日志信息包含PID 信息
    LOG_NDELAY:立即打开连接,通常是在有第一条log时才打开连接。
    具体参考man openlog手册 。openlog 参考手册

  • facility 参数介绍:
    工厂参数设置哪些类型记录的消息,该参数让配置文件根据参数类型有不同的处理。
    比如:LOG_DAEMON–表示没有单独设施值的系统守护进程。

参考资料:openlog() man page

2. closelog()函数介绍:

函数格式:

void closelog();

函数作用:
关闭用于写入系统记录器的描述符

3.syslog() 函数介绍:

函数格式:
void syslog(int priority,char*format,……)

函数作用:
生成日志消息,由syslogd 发送。
参考手册:syslogd linux man page

函数参数:

  • priority 参数:
    该参数是由llevel和facility 参数共同决定
    常用Level:
    LOG_WARNING:警告消息
    LOG_ERR: 错误消息
    常用facility:
    LOG_DAEMON

  • format 参数:
    如同printf 的输出格式

参考资料:syslog man page

使用范例:

参考网址:范例网址


#include <syslog.h>
int main(int argc, char *argv[])
{
   openlog("APPTest", LOG_NDELAY | LOG_PID, LOG_DAEMON);
   syslog(LOG_DEBUG,
          "This is a syslog test message generated by program '%s'\n",
          argv[0]);
   closelog();
   return0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值