【问题标题】:How to modify syslog output format in busybox?如何修改busybox中的syslog输出格式?
【发布时间】:2015-03-07 11:54:33
【问题描述】:

如何修改busybox中的syslog输出格式? 例如:

1 月 1 日 00:00:42 LSM user.info 根目录:您好

1 月 1 日 [IP] LSM user.info 根目录:您好

我尝试在 syslog.conf 中使用模板,但它不起作用。参考。 http://goo.gl/tcDbzZ

$template precise,"%syslogpriority%,%syslogfacility%,%timegenerated%,%HOSTNAME%,%syslogtag%,%msg%\n"
$ActionFileDefaultTemplate precise

或者我应该修改 src 中的 syslog.c 吗?有没有更好的方法来完成这项工作?

感谢您的帮助和善意。

【问题讨论】:

    标签: logging embedded-linux syslog busybox


    【解决方案1】:

    busybox 中的 syslog 有一个 FEATURE_SYSLOGD_CFG 选项,可以在编译时启用/禁用对 syslog.conf 的支持。

    请注意,与“标准”syslog.conf 相比,它肯定是受限制的支持。

    检查是否使用make menuconfig 启用此选项

    【讨论】:

    • 我检查了make menuconfig,它已经被激活了。似乎busybox不支持记录消息中的syslog模板。
    【解决方案2】:

    有几个“系统日志”。

    对于 BusyBox,它是“经典”syslogdhttps://en.wikipedia.org/wiki/Syslog

    对于 Ubuntu,它是 rsysloghttps://en.wikipedia.org/wiki/Rsyslog

    对于其他一些系统,它是 syslog-nghttps://en.wikipedia.org/wiki/Syslog-ng

    您指定为 ref 的链接。 (https://askubuntu.com/questions/79684/syslog-not-showing-log-levels-in-messages) 适用于 Ubuntu,所以 rsyslog

    我认为你不能在 syslogd 中使用这样的模板。

    【讨论】:

      【解决方案3】:

      Busybox 默认使用 /sbin 中的 syslogd,你可以签入 /etc/init.d/S01logging,它会忽略你在 syslog.conf 中所做的所有配置。

      实际上,它还有另一个“功能齐全”的 syslogd,它位于 /usr/sbin/。我建议你修改 S01logging 脚本来启动这个新的 syslogd 并测试你的配置是否有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 2019-08-19
        • 2019-01-29
        • 1970-01-01
        相关资源
        最近更新 更多