我将 OpenWrt 配置为将系统日志发送到远程系统。这已经运行良好很长时间了,但是我缺少来自 nginx 的日志。
OpenWrt 上的 nginx 不支持记录到 syslog,因此我通过 tail 使用 logger 将日志条目发送到 syslog,然后由 syslog 转发它们。
root@OpenWrt:/tmp/log/nginx# (tail -1 -F access.log | logger & tail -1 -F error.log | logger )&
它基本上工作得很好......除了一些东西在 519 个字符后截断行并插入“[截断]”。
例如,
May 23 17:01:13 openwrt.lan root: [truncated] 10.11.12.13 - - [23/May/2019:17:01:13 -0400] "GET ...
我在 busybox 或 OpenWrt 的文档中看不到任何他们应该这样做的内容。我也没有看到任何迹象表明 OpenWrt 的 syslog 之前已经这样做过,但是 busybox 源代码的 grep 让我认为这可能不是 busybox 所做的。
OpenWrt 系统日志是否被截断?如何配置或停止它?
答案1
编译前必须在openwrt源码的menuconfig中设置Maximum length of input和History Size
从本指南:
make menuconfig > 基本系统 > busybox > 自定义 busybox 选项(为此设置 y) > Busybox 库调整 > (设置)最大输入长度/历史记录大小
为了在本节中明确解释: