syslog机制

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

猜你喜欢

转载自blog.csdn.net/lanlan1266/article/details/80165770