linux日志管理核心是syslog机制,由rsyslog实现,依赖facility(来源)、priority(等级)、action(处理动作)三要素协同;配置通过/etc/rsyslog.d/下文件定义,语法为“设备.优先级 目标”,需重启服务并用logger测试。

Linux 日志管理的核心入口就是 Syslog 机制,它不是某个单一命令,而是一整套日志收发、过滤和存储的协作体系。当前主流发行版默认使用 rsyslog(兼容传统 syslog 协议但功能更强),掌握它的基础用法,就能快速建立系统级日志采集能力。
理解 Syslog 的三个关键角色
日志能被正确采集,依赖三个环节协同工作:
-
消息来源(Facility):标识日志“从哪来”,比如
auth(认证)、kern(内核)、daemon(守护进程)、local0–local7(自定义应用) -
消息等级(Priority):反映日志“有多重要”,从高到低为:
emerg(崩溃)、alert、crit、err、warn、notice、info、debug -
处理动作(Action):决定日志“去哪存”,可以是本地文件(如
/var/log/secure)、控制台(/dev/tty1)、远程服务器(@192.168.1.100)或数据库
修改配置实现定向采集
rsyslog 主配置文件是 /etc/rsyslog.conf,但推荐把自定义规则写在 /etc/rsyslog.d/ 目录下的独立文件里(如 10-custom.conf),避免主配置被覆盖。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 语法格式统一为:
设备.优先级 目标位置 - 常用匹配方式:
auth.*(所有认证日志)、kern.warn(内核警告及以上)、mail.err(邮件错误)、local7.debug(自定义应用调试日志) - 添加后必须重启服务:
sudo systemctl restart rsyslog - 可先验证语法是否正确:
sudo rsyslogd -N1(无输出表示 OK)
快速验证日志是否被正确采集
不用等真实事件发生,可以用 logger 命令手动触发测试日志:
- 发送一条普通日志:
logger "test message from user"→ 默认归入user.info,出现在/var/log/messages - 指定设备和级别:
logger -p auth.warning "failed login attempt"→ 写入/var/log/secure - 查看实时追加:
sudo tail -f /var/log/secure或journalctl -f -t logger
注意权限与路径基础保障
规则写了却没生成文件?常见卡点就在这几步:
- 确保目标目录存在且可写:
sudo mkdir -p /var/log/myapp,然后sudo chown syslog:adm /var/log/myapp - 日志文件本身权限建议设为
644,属主属组通常为syslog:adm(Ubuntu)或root:root(CentOS) - 防火墙若启用,UDP/TCP 514 端口需放行(远程采集时)
- 若系统启用了
journald,rsyslog 可通过imjournal模块读取其日志,无需重复监听/proc/kmsg










