syslog简介

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配置时,直接使用命令参数,输入以下命令启动syslogd:

syslogd -n -m 0 -L -R 192.190.1.88

其中

  • -n选项表示进程在前台运行。
  • -m选项指定循环间隔时间。
  • -L选项表示在进行远程日志记录的同时,本地也进行记录。如果不加该选项,则只进行远程日志记录。
  • -R表示进行远程日志记录,将syslog日志发送到目标服务器上。这里假定目标服务器为的IP地址为192.190.1.88。如果不指定端口,默认使用UDP端口514。所以要确保服务器上该端口没用被占用。启动后,所有的日志信息都会发往服务器的UDP端口514。

当支持syslog.conf配置时,只需修改该配置文件即可。在文件中增加以下语句:

*.*    @192.190.1.88

以上配置表示将所有syslog的日志发往服务器192.190.1.88,使用默认的UDP端口。由于syslog.conf配置相对比较灵活,可以设置 屏蔽一些不需要的信息,以及设置指定的端口等等。请参考syslog.conf的有关命令,自行研究。然后启动syslogd即可进行远程记录。

原文链接

syslogd以及syslog.conf文件解读说明

### 回答1: syslog.conf 是 Linux 中一个配置文件,用于配置系统日志服务 (syslogd)。它包含了指导 syslogd 如何处理系统日志信息的规则。 通常,syslog.conf 文件中包含了若干行的规则,每一行描述了一个不同的配置规则。每一行由两个部分组成:选择器 (selector) 和目标 (destination)。 选择器用于指定哪些类型的日志消息应该按照该行的配置规则进行处理,通常可以指定消息的来源、级别等信息。 目标则指定了消息该如何处理,通常可以指定消息记录到本地文件、远程服务器、终端等位置。 例如,以下是一个 syslog.conf 的示例: ``` # Log all kernel messages to the console. *.err;kern.*;authpriv,auth.none;cron.none /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* -/var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg * # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler ``` 以上就是 syslog.conf 文件的内容简介。 ### 回答2: 在Linux中,syslog.conf是系统日志配置文件,用于配置日志的产生、存储和传输方式。该文件通常位于/etc/syslog.conf路径下。 syslog.conf内容包含多行配置信息,每行都由以下几个部分组成: 1. 设备标识符(facility):用于指定产生日志的设备或服务。 2. 日志等级(log level):用于指定日志的重要程度或优先级。 3. 动作(action):指定了对应的日志操作。 在syslog.conf中,可以使用以下语法来配置日志记录的规则: facility.level action 其中facility可以是以下常用标识符之一(但不限于): - auth:授权信息 - cron:定时任务相关信息 - kern:内核相关信息 - mail:邮件相关信息 - news:新闻组相关信息 - user:一般用户相关信息 - local0〜local7:预留给用户自定义的设备标识符 level是以下日志等级之一(但不限于): - emerg:紧急情况 - alert:需要立即处理的情况 - crit:关键情况 - err:一般错误情况 - warning:警告性消息 - notice:正常,但有重要意义的情况 - info:一般信息记录 - debug:调试级别的信息记录 action根据配置需求可以选择以下操作(但不限于): - 保存到特定文件 - 发送到syslog服务器 - 发送到远程服务器 - 发送到控制台 例如,以下配置行表示将来自内核的错误和警告信息保存到特定文件/var/log/kernel.log中: kern.err;kern.warning /var/log/kernel.log 通过配置syslog.conf,用户可以根据自己的需求定制系统日志的记录方式和目的地,以方便管理和故障排除。值得注意的是,在修改syslog.conf之后,需要重启syslog服务或发送重新加载信号,以使配置生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值