OPENWRT 打印log消息到logread

来源:互联网 发布:淘宝上怎么买qq号 编辑:程序博客网 时间:2024/05/23 18:33

之前只知道 dmesg 可以用来助用户了解系统的启动信息,现在接触了openwrt,发现了logread。


logread是在调试luci的时候用到的,极其方便,对于不太了解OpenWrt系统构成对人尤甚。

这个需要写进程对人对syslogd提供支持,否则说来知识惘然,我们需要做系统,需要做好对系统,就需要油完善对日志管理,精简无冗余对才是最有用的,这是我们使用其的目的。废话不多说,直接看卡logread的组成吧

在busybox中实现了syslogd 和 logread.

syslogd用来记录log, logread则用来读取log.

logread的代码很简洁,主要实现过程是:连接共享内存->信号量加锁->读取共享内存中的信息并输出->信号量解锁

正如openwrt官网wiki所说Older OpenWrt releases (AA and earlier ones) were using BusyBox's syslogd (and logread) while the newer ones (BB and later) use ubox's logd and logread.老版本用 syslogd与logread,新版本用logd与logread


  1. logd – a deamon creating /dev/log socket, forwarding kernel messages & providing ubus log object (with read and write commands)
  2. logread – a tool for reading messages using ubus, see help messages for its usage
syslogd产生的log一般都在/var/log/messages里面

而logd产生的log 好像是一块内存 /sbin/logd -S 16   16kb,这块还不是很了解

要想输出自己的log,用logread读取到,就要用到logger这个工具

logger -t wsz hello   指定特定的标签名来打印信息,默认是用户名

logger -s hello   直接输出到stderr ,logread读不到

logger -p 1 指定优先级

0 0
原创粉丝点击