Linux守护进程log——syslog

一、syslog定义

      Syslog常被称为系统日志或系统记录,是一种用来在互联网协议(TCP/IP)的网络中传递记录档讯息的标准。在网络管理领域,Syslog协议提供了一个传递方式,允许一个设备通过网络把事件信息传递给事件信息接受者(也称之为日志服务器)。syslog协议属于一种主从式协议:syslog发送端会传送出一个小的文字讯息(小于1024字节)到syslog接收端。接收端通常名为“syslogd”、“syslog daemon”或syslog服务器。系统日志讯息可以被以UDP协议及或TCP协议来传送。这些资料是以明码型态被传送。不过由于SSL加密外套(例如Stunnel、sslio或sslwrap等)并非syslog协议本身的一部分,因此可以被用来透过SSL/TLS方式提供一层加密。

二、在Linux中的应用      

       Syslog机制是类unix系统中经常使用的一种日志记录方式。它能够以多种级别组合记录系统运行过程中各类日志信息。比如内核运行信息日志,程序运行 输出的日志等。在为嵌入式系统做开发时,将程序运行时的一些重要信息写入日志中,对于程序的调试以及错误诊断帮助是非常大的。重要信息包括程序运行时的重 要变量,函数运行结果,错误记录等等。对于嵌入式系统而言,由于系统资源有限,而且是交叉开发,调试及诊断及其不便。使用syslog机制,可大大简化这 些工作。

       并不是所有嵌入式系统都可以使用syslog。首先,系统使用类unix操作系统,常用的就是linux。其次,为了支持远程日志记录,系统中必须支持网络通信。所幸,目前大部分嵌入式系统都是基于linux,并且支持网络。以下论述具体实现。

       在编译busybox时,选择syslog应用程序,并将busybox加入到linux的文件系统中去。嵌入式系统启动后,就可以配置syslog的客 户端。根据busybox版本,syslog的服务进程syslogd的配置有所不同。早期的syslogd忽略syslog.conf文件内的配置项, 直接使用命令参数进行配置。新版本的syslogd支持使用syslog.conf文件进行配置。可以通过syslogd –h察看帮助信息,以确定当前的syslogd版本。

       不支持syslog.conf配置时,直接使用命令参数,

三、syslog函数

功能:记录至系统记录。
头文件:#include <syslog.h>
语法: int syslog(int priority, string message);
返回值: 整数
函数种类: 操作系统与环境
内容说明 :
本函数将 message 字符串写到系统纪录中,参数 priority 的值可能为 LOG_EMERG、LOG_ALERT、LOG_CRIT、LOG_ERR、LOG_WARNING、LOG_NOTICE、LOG_INFO、 LOG_DEBUG。本函数调用 UNIX 操作系统的 syslog() 函数,在 Windows NT 上,使用事件检视器模拟出本功能。
syslog为每个事件赋予几个不同的优先级:
LOG_EMERG:紧急情况,需要立即通知技术人员。
LOG_ALERT:应该被立即改正的问题,如系统数据库被破坏,ISP连接丢失。
LOG_CRIT:重要情况,如硬盘错误,备用连接丢失。
LOG_ERR:错误,不是非常紧急,在一定时间内修复即可。
LOG_WARNING:警告信息,不是错误,比如系统磁盘使用了85%等。
LOG_NOTICE:不是错误情况,也不需要立即处理。
LOG_INFO:情报信息,正常的系统消息,比如骚扰报告,带宽数据等,不需要处理。
LOG_DEBUG:包含详细的开发情报的信息,通常只在调试一个程序时使用。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值