rsyslogd-学习&使用
来源:互联网 发布:淘宝原单好店推荐豆瓣 编辑:程序博客网 时间:2024/04/29 18:12
简介
【这一篇博客不是完整的解释 rsyslogd的运行原理,只是一个自己查找资料的记录】
rsyslog 是一个 syslogd 的多线程增强版。现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了。rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件
学习资料
1. 官方网站
官方网站: http://www.rsyslog.com/
这是官网的一张图片,可以看出来支持的功能还是非常多的,支持各种各样的传输方式,支持各种各样的数据库。
如果想全面的了解 rsyslogd,还是好好看看这个网站的内容的。但是我要功能比较简单,就是把我的程序日志放到指定的文件就行了,为了就是不用开发自己的日志系统,所以暂时没有看这些东西。搜了一些中文博客,就可以了。
2. 博客
找了几篇博客,这一篇是我最喜欢的。 http://blog.csdn.net/needle2/article/details/6826523
写的有条理,清楚简单,不想其它乱糟糟的博客内容,我也不需要安装,我使用的环境都默认都默认安装了 rsyslogd。
这篇博客写了我需要知道的方方面面,足以让我了解 rsyslogd。
3. 社区
还有一个问题没有解决,就是怎么配置 rsyslogd,让我的程序的日志输出到指定的文件,而不是输出到/var/log/message。所以搜索之,最后在一个社区里面找到了,这样的问题肯定会有人讨论,所以不出所料,找到了 http://www.newsmth.net/nForum/#!article/LinuxDev/34880 。
发信人: closer2me (木杉), 信区: LinuxDev标 题: Re: 怎样用syslog写到自定义的log文件?发信站: 水木社区 (Sun Aug 23 21:09:27 2009), 站内APUE里面说facility的 LOG_LOCAL0 ~ LOG_LOCAL7 是保留由本地使用,我程序里面用了也没用效果。自己的程序就没法用syslog输出到自定义的log文件了吗?【 在 saphires (萝卜) 的大作中提到: 】: 定义的方法应该是错的: syslog.conf里面的selector应该是facility.priority: facility默认就只有那么几个,不过它是数字定义,可以自己整.: ...................-- Stay hungry, stay foolish.
在这个帖子里,有这么一段讨论,我就猜到要怎么使用了
使用方法
因为 rsyslogd 预留了8个facility,LOG_LOCAL0 ~ LOG_LOCAL7。我们使用这个就足够了。
下面我在 centos6.6中做样例。
1. 首先修改配置文件
rsyslogd 的配置文件放为/etc/rsyslogd.conf
修改 这个文件,在这个文件里面添加下面这一行
local5.* /var/log/dpi.log
意思就是 local5的所有日志都存入/var/log/dpi.log
文件中。
2. 重启 rsyslogd
使用这个命令重启就行了 /etc/init.d/rsyslog restart
3. 写代码
代码很简单,如下
#include <syslog.h>#include <stdio.h>#include <stdlib.h>int main(){ syslog(LOG_ERR|LOG_LOCAL5,"syslog test\n");}
具体参数的意义看学习资料里面的博客,只需要注意,这一条日志是发给LOG_LOCAL5的,也就是之前设置过的那个。
编译运行后,可以看到如下的内容
[zhijia@localhost log]$ sudo cat /var/log/dpi.log [sudo] password for zhijia: Feb 29 15:48:32 localhost a.out: syslog test[zhijia@localhost log]$
因为这个log目录属于 root 的,所以想看这个文件,还是需要 root 权限的。
- rsyslogd-学习&使用
- rsyslogd 日志服务
- rsyslogd 日志服务
- 日志守护进程实例:(rsyslogd)
- rsyslogd日志丢失的解决
- rsyslogd服务, Logrotate日志切割
- rsyslogd服务器及负载均衡
- 第十四章:日志管理-rsyslogd服务
- linux 命令系列之 rsyslogd(75)
- Linux日志管理-rsyslogd/日志轮替
- 非常详细的rsyslogd配置文件解析
- 非常详细的rsyslogd & logrotate配置文件解析
- rsyslogd以及日志轮替logrotate的梳理
- 非常详细的rsyslogd & logrotate配置文件解析
- rsyslogd、syslog远程传输、日志存储、转存
- sshd、rsyslogd、chronyd、systemd-journal练习
- use "man rsyslogd" for details. To run rsyslog interactively, use "rsyslogd -n"to run it in debug mo
- rsyslogd: error during parsing file /etc/rsyslog.conf, on or before line 55: warnings occured in fil
- 工具的使用 —— 键盘
- Storm如何保证消息不丢失
- 20多岁的你我
- 数据库数据添加到TextView详解(limite参数如何使用)
- Python与机器学习(四)决策树
- rsyslogd-学习&使用
- ios加速审核
- cordova+Ionic环境搭建
- 半年小总结
- 【杭电】[1702]ACboy needs your help again!
- 重新生成索引存储过程 sp_rebuild_index
- Linux一键安装web环境全攻略(阿里云服务器)
- 最短路径解决算法
- Java设计模式之Decorator模式