syslog机制

本文介绍了Linux下的syslog机制,特别是在服务器程序开发中如何利用syslog记录输出信息。文章通过配置rsyslog,添加日志记录规则,并编写测试程序演示了如何将日志写入指定文件。同时,注意到Ubuntu的默认配置会将所有syslog输出记录在/var/log/syslog中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

syslog机制

在开发服务器程序时,server一般是守护进程,脱离了控制终端,一些输出信息和调试 信息利用日志文件去记录,Linux提供常用的syslog机制,这里介绍下syslog基本使用,等 同学走上工作岗位后根据项目需求可以进一步去研究syslog.conf配置文件。

unix使用syslog机制,ubuntu和redhat等linux现在使用rsyslog,是syslog的增强版。 

1.配置rsyslog

sudo vi /etc/rsyslog.conf

添加下面这行配置

# mod by itcast
local2.info /var/log/itcast_server.log 

# itcast en

2.重启服务生效,并创建/var/log/itcast_server.log

sudo /etc/init.d/rsyslog restart

itcast@ubuntu:~$ ls -l /var/log/itcast_server.log
-rw-r----- 1 syslog adm 0 11月 22 07:47 /var/log/itcast_server.log

3.查看/var/log/itcast_server.log 此刻为空文件

itcast@ubuntu:~$ cat /var/log/itcast_server.log

4.编写测试文件,并编译运行

#include <syslog.h> #include <string.h> #include <stdio.h> int main(void)

{
int log_test;

/*打开日志*/
openlog("itcast.itcast ", LOG_PID|LOG_CONS, LOG_LOCAL2); /*写日志*/
syslog(LOG_INFO, "PID information, pid=%d", getpid()); /*关闭日志*/
closelog();
return 0;

}

5.查看日至文件/var/log/itcast_server.log

itcast@ubuntu:~/test$ cat /var/log/itcast_server.log
Nov 22 07:51:06 ubuntu itcast.itcast [5326]: PID information, pid=5326

6.ubuntu默认配置的rsyslog会在/var/log/syslog记录所有的syslog输出,包括在/var/ log/itcast_server.log已经记录的信息

itcast@ubuntu:~/test$ cat /var/log/syslog




212 第16章 syslog机制

#include <syslog.h> #include <string.h> #include <stdio.h> int main(void)

{
int log_test;

/*打开日志*/
openlog("itcast.itcast ", LOG_PID|LOG_CONS, LOG_LOCAL2); /*写日志*/
syslog(LOG_INFO, "PID information, pid=%d", getpid()); /*关闭日志*/
closelog();
return 0;

}

5.查看日至文件/var/log/itcast_server.log

6.ubuntu默认配置的rsyslog会在/var/log/syslog记录所有的syslog输出,包括在/var/ log/itcast_server.log已经记录的信息

itcast@ubuntu:~/test$ cat /var/log/itcast_server.log
Nov 22 07:51:06 ubuntu itcast.itcast [5326]: PID information, pid=5326

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值