电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

syslog函数详解用法

2017-05-02 09:55分类:电子技术 阅读:

 

syslog函数详解用法
这儿面的三个函数openlog, syslog, closelog是一套体系日志写入接口。

首要体系里应当具有syslog等程序,ubuntu下能够apt-get install sysklogd设备。(这儿选用的sysklogd, 还有rsyslog,syslog-ng等日志软件)

一般syslog照料进程读取三种格局的记载音讯。此照料进程在建议时读一个装备文件。一般来说,其文件名为/etc/syslog.conf,该文件挑选了纷歧样品种的音讯应送向何处。例如,急切音讯可被送向体系处理员,并在操控台上闪现,而正告音讯则可记载到一个文件中。该机制供应了syslog函数,其调用格局如下

#include <syslog.h> //头文件

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

void syslog(int priority, char*format,……);

void closelog();

调用openlog是可挑选的。假定不调用openlog,则在初度调用syslog时,自动调用openlog。调用closelog也是可挑选的,它仅仅封闭被用于与syslog照料进程通讯的描写符。调用openlog 使咱们能够指定一个ident,往后, 此ident 将被加至每则记载音讯中。ident 一般是程序的称谓(例如 ,cron ,ine 等)。

简略的程序实例

#include <syslog.h>

int main(int argc, char **argv) {

openlog("zooyo", LOG_CONS | LOG_PID, 0);

syslog(LOG_INFO,

"This is a syslog test message generated by program %sn",

argv[0]);

closelog();

return 0;

}

编译生成可施行程序后,作业一次程序将向/var/log/message文件增加一行信息如下:

Mar 2 16:17:52 ubuntu zooyo[1380]: This is a syslog test message generated by program ./a.out

openlog函数:

榜首个参数ident将是一个符号,ident所标明的字符串将固定地加在每行日志的前面以标识这个日志,一般就写成其时程序的称谓以作符号。

第二个参数option是下列值取与运算的作用:
LOG_CONS 直接写入体系操控台,假定有一个过错,一同发送到体系日志记载。
LOG_NDELAY 当即翻开联接(一般,翻开联接时记载的榜首条音讯)。
LOG_NOWAIT 不要等候子进程,由于其有或许在记载音讯的时分就被创立了(GNU C库不创立子进程,所以该选项在Linux上没有影响。)
LOG_ODELAY 推延联接的翻开直到syslog函数调用。(这是默许状况下,需求没被指定的状况下。)
LOG_PERROR (不在SUSv3状况下)一同输出到stderr(规范过错文件)。
LOG_PID 包括每个音讯的PID。

第三个参数facility是用来指定记载音讯程序的类型。它让指定的装备文件,将以纷歧样的方法来处理来自纷歧样方法的音讯。

它的值或许为 LOG_KERN、LOG_USER、LOG_MAIL、LOG_DAEMON、LOG_AUTH、LOG_SYSLOG、LOG_LPR、LOG_NEWS、LOG_UUCP、LOG_CRON 或 LOG_AUTHPRIV。

LOG_AUTH ——认证体系:login、su、getty等
LOG_AUTHPRIV ——同LOG_AUTH,但只登录到所挑选的单个用户可读的文件中
LOG_CRON ——cron照料进程
LOG_DAEMON ——别的体系照料进程,如routed
LOG_FTP ——文件传输协议:ftpd、tftpd
LOG_KERN ——内核发作的音讯
LOG_LPR ——体系打印机缓冲池:lpr、lpd
LOG_MAIL ——电子邮件体系
LOG_NEWS ——网络新闻体系
LOG_SYSLOG ——由syslogd(8)发作的内部音讯
LOG_USER ——随机用户进程发作的音讯
LOG_UUCP ——UUCP子体系
LOG_LOCAL0~LOG_LOCAL7 ——为本地运用保存

Syslog为每个作业赋予几个纷歧样的优先级:
LOG_EMERG ——急切状况
LOG_ALERT ——应当被当即改正的疑问,如体系数据库损坏
LOG_CRIT ——首要状况,如硬盘过错
LOG_ERR ——过错
LOG_WARNING ——正告信息
LOG_NOTICE ——不是过错状况,可是或许需求处理
LOG_INFO ——情报信息
LOG_DEBUG ——包括情报的信息,一般旨在调试一个程序时运用

上一篇:通讯作业设备为啥运用-48V直流供电

下一篇:联通VPN有哪些优势

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部