linux C编程16-日志系统

这篇博客详细介绍了Linux系统日志管理中的关键函数openlog、syslog和closelog的使用,以及syslog.conf配置文件的格式和设置。openlog用于初始化日志连接,syslog则用于发送日志信息,closelog用于关闭日志连接。syslog.conf文件控制日志记录的行为,包括日志级别、类型和输出动作。理解这些概念对于Linux系统管理和日志分析至关重要。
摘要由CSDN通过智能技术生成

目录

1、帮助信息

2、openlog()函数

3、syslog()函数

4、closelog()函数

5、syslog.conf文件

5.1、格式

5.2类型

5.3、级别

5.4、动作


1、帮助信息

man 3 syslog

2、openlog()函数

此函数用来打开一个到系统日志记录程序的连接,打开之后就可以用syslog或vsyslog函数向系统日志里添加信息。

#include <syslog.h>

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

参数 ident:用于表示信息的来源ident指向的字符信息会被固定地添加在每行日志的前面。

参数option:用于指定openlog函数和接下来调用的syslog函数的控制标志

参 数

说 明

LOG_PID

每条日志信息中都包括进程号

LOG_CONS

如果将信息发送给syslogd守护进程时发生错误,直接将相关信息输出到终端

LOG_NDELAY

立即打开与系统日志的连接(通常情况下,只有在产生第一条日志信息的情况下才会打开与日志系统的连接)

LOG_NOWAIT

在记录日志信息时,不等待可能的子进程的创建

LOG_ODELAY

类似于LOG_NDELAY参数,与系统日志的连接只有在syslog函数调用时才会创建

LOG_PERROR

在将信息写入日志的同时,将信息发送到标准错误输出(POSIX.1-2001不支持该参数)

参数facility:与syslogd守护进程的配置文件对应,日志信息会写入配置文件指定的位置。

facility参数

syslog.conf中对应的facility取值

LOG_KERN

kern

LOG_USER

user

LOG_MAIL

mail

LOG_DAEMON

daemon

LOG_AUTH

auth

LOG_SYSLOG

syslog

LOG_LPR

lpr

LOG_NEWS

news

LOG_UUCP

uucp

LOG_CRON

cron

LOG_AUTHPRIV

authpriv

LOG_FTP

ftp

LOG_LOCAL0~LOG_LOCAL7

3、syslog()函数

用于把日志消息发给系统程序syslogd去记录。

#include <syslog.h>

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

参数 priority:消息的紧急级别。

priority参数

syslog.conf中对应的level取值

LOG_EMERG

emerg

LOG_ALERT

alert

LOG_CRIT

crit

LOG_ERR

err

LOG_WARNING

warning

LOG_NOTICE

notice

LOG_INFO

info

LOG_DEBUG

debug

参数 format:消息的格式

4、closelog()函数

关闭日志记录。

#include <syslog.h>

void closelog();

5、syslog.conf文件

5.1、格式

类型.级别 [;类型.级别]                                  动作

注:修改文件后需要重启守护进程!

5.2类型

auth    认证系统,即询问用户名和口令
cron    系统定时系统执行定时任务时发出的信息
daemon  某些系统的守护程序的syslog,如由in.ftpd产生的log
kern    内核的syslog信息
lpr    打印机的syslog信息
mail    邮件系统的syslog信息
mark    定时发送消息的时标程序
news    新闻系统的syslog信息
user  本地用户应用程序的syslog信息
uucp    uucp子系统的syslog信息
local0..7本地类型的syslog信息,这些信息可以又用户来定义
*      代表以上各种设备

5.3、级别

emerg  紧急,处于Panic状态。通常应广播到所有用户
alert  告警,当前状态必须立即进行纠正。例如,系统数据库崩溃;
crit    关键状态的警告。例如,硬件故障;
err其它错误;
warning警告;
notice  注意;非错误状态的报告,但应特别处理;
info    通报信息;
debug  调试程序时的信息;
none    通常调试程序时用,指示带有none级别的类型产生的信息无需送出。

5.4、动作

  /filename   (日志文件)由绝对路径指出的文件名,此文件必须事先建立;
@host (远程主机)@符号后面可以是ip,也可以是域名,默认在/etc/hosts文件下loghost这个别名已经指定给了本机。
user  (指定用户)如果指定用户已登录,那么他们将收到信息
* (所有用户)  所有已登录的用户都将收到信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值