当前位置:首页>Linux>开发板调试必备!主流Linux系统日志抓取全攻略

开发板调试必备!主流Linux系统日志抓取全攻略

  • 2026-10-11 07:36:49
开发板调试必备!主流Linux系统日志抓取全攻略
本文介绍Linux开发板系统抓取日志的方法,涵盖常用的Ubuntu、Debian、Buildroot系统。使用触觉智能RK3562开发板作为演示载体。开发板内置的RK3562核心板SOM3562,支持用户二次开发用于项目量产,适用于工业控制、储能EMS、智能网关等各类工业及嵌入式场景。
Ubuntu/Debian系统

(1)抓取实时日志并显示在终端,命令如下:

journalctl -f
(2)抓取实时日志并保存到system.log文件中,方便导出报错日志:
journalctl -f  > system.log
抓日志的两种命令对比:
● dmesg 仅内核和驱动相关消息,不支持实时跟踪
● journalctl 查看全系统日志,支持实时跟踪
(3)异常的情况
开始抓取日志后,进行复现异常情况的操作。我这里以中途插拔U盘为例,复现完后可以按CTRL+C结束。
注:如果使用第二种方式,可以将文件用u盘等方式拷出。
dh -f  #查看u盘挂载路径Filesystem      Size  Used Avail Use% Mounted on/dev/root        14G  300M   13G   3% /devtmpfs        977M     0  977M   0% /devtmpfs           986M   32K  986M   1% /tmptmpfs           986M  272K  986M   1% /runtmpfs           986M     0  986M   0% /dev/shm/dev/mmcblk0p7  123M   13M  104M  11% /oem/dev/mmcblk0p6  238M   25K  226M   1% /userdata/dev/sda1       448M  328M  121M  74% /media/ido/Ucp ./system.log  /media/ido/U #复制文件到u盘中

(4)更多用法,命令可参考:

journalctl [选项...] [匹配项...]查询日志。选项:     --system                显示系统日志     --user                  显示当前用户的用户日志  -M --machine=CONTAINER     对本地容器进行操作  -S --since=DATE            显示不早于指定日期的条目  -U --until=DATE            显示不晚于指定日期的条目  -c --cursor=CURSOR         从指定的游标开始显示条目     --after-cursor=CURSOR   显示指定游标之后的条目     --show-cursor           在所有条目后打印游标     --cursor-file=FILE      显示文件中游标后的条目并更新文件  -b --boot[=ID]             显示当前启动或指定的启动     --list-boots            显示有关记录启动的简洁信息  -k --dmesg                 显示当前启动的内核消息日志  -u --unit=UNIT             显示指定单元的日志     --user-unit=UNIT        显示指定用户单元的日志  -t --identifier=STRING     显示具有指定syslog标识符的条目  -p --priority=RANGE        显示具有指定优先级的条目     --facility=FACILITY...  显示具有指定设施的条目  -g --grep=PATTERN          显示与PATTERN匹配的MESSAGE的条目     --case-sensitive[=BOOL] 强制进行大小写敏感或不敏感的匹配  -e --pager-end             在分页器中立即跳到末尾  -f --follow                跟踪日志  -n --lines[=INTEGER]       要显示的日志条目数量     --no-tail               即使在跟踪模式下也显示所有行  -r --reverse               先显示最新的条目  -o --output=STRING         改变日志输出模式 (short, short-precise,                               short-iso, short-iso-precise, short-full,                               short-monotonic, short-unix, verbose, export,                               json, json-pretty, json-sse, json-seq, cat,                               with-unit)     --output-fields=LIST    在verbose/export/json模式下选择要打印的字段     --utc                   以协调世界时(UTC)表示时间  -x --catalog               在可用的地方添加消息解释     --no-full               缩略字段  -a --all                   显示所有字段,包括长和不可打印的  -q --quiet                 不显示信息消息和权限警告     --no-pager              不将输出管道输出到分页器     --no-hostname           抑制主机名字段的输出  -m --merge                 显示所有可用日志的条目  -D --directory=PATH        显示来自目录的日志文件     --file=PATH             显示日志文件     --root=ROOT             在根目录下操作文件     --namespace=NAMESPACE   显示指定命名空间的日志数据     --interval=TIME         更改FSS密封键的时间间隔     --verify-key=KEY        指定FSS验证键     --force                 使用--setup-keys覆盖FSS密钥对命令:  -h --help                  显示此帮助文本     --version               显示包版本  -N --fields                列出当前使用的所有字段名称  -F --field=FIELD           列出指定字段采取的所有值     --disk-usage            显示所有日志文件的总磁盘使用量     --vacuum-size=BYTES     将磁盘使用量减少到指定大小以下     --vacuum-files=INT      只保留指定数量的日志文件     --vacuum-time=TIME      删除早于指定时间的日志文件     --verify                验证日志文件的一致性     --sync                  将未写入的日志消息同步到磁盘     --relinquish-var        停止记录到磁盘,记录到临时文件系统     --smart-relinquish-var  类似,但如果日志目录在根挂载上,则无操作     --flush                 将所有日志数据从 /run 刷新到 /var     --rotate                请求立即旋转日志文件     --header                显示日志头信息     --list-catalog          在目录中显示所有消息ID     --dump-catalog          显示消息目录中的条目     --update-catalog        更新消息目录数据库     --setup-keys            生成新的FSS密钥对
Buildroot系统

在/var/log/messages文件中可以直接看到日志消息,可以将文件用u盘等方式拷出,不想看全部日志的话,可以使用下面的方法实时显示日志。

(1)输入命令抓取实时日志,并显示在终端

syslogd -n
(2)复现遇到异常的情况
开始抓取日志后,进行复现异常情况的操作。我这里以中途插拔U盘为例,复现完后可以按CTRL+C结束。
(3)更多用法
BusyBox v1.36.1 (2025-02-15 11:24:14 CST) multi-call binary.Usage: syslogd [OPTIONS]System logging utility(this version of syslogd ignores /etc/syslog.conf)	-n		Run in foreground	-R HOST[:PORT]	Log to HOST:PORT (default PORT:514)	-L		Log locally and via network (default is network only if -R)	-O FILE		Log to FILE (default: /var/log/messages, stdout if -)	-s SIZE		Max size (KB) before rotation (default 200KB, 0=off)	-b N		N rotated logs to keep (default1, max 99, 0=purge)	-l N		Log only messages more urgent than prio N (1-8)	-S		Smaller output	-t		Strip client-generated timestamps
产品简介
触觉智能RK3562核心板(型号SOM3562),基于瑞芯微RK3562/RK3562J SoC 设计,该款芯片曾获2025年“中国芯”集成电路产业促进大会优秀表现产品。
如需了解更多可点击下方视频观看,或者点击规格书了解参数:
如需配套开发板 可通过淘宝购买:https://item.taobao.com/item.htm?ft=t&id=739666345147
END

最新文章

随机文章