You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在syslog-ng目标文件路径中处理${PROGRAM}的斜杠

解决syslog-ng中PROGRAM字段含斜杠导致日志路径错误的问题

可以利用syslog-ng内置的replace()字符串替换函数,将${PROGRAM}中的斜杠/替换为下划线_,从而避免路径被错误分割。

修改后的完整配置

destination d_remote_logs {
    file(
        "/var/log/remote/${HOST_FROM}-$(replace ${PROGRAM} "/" "_").log"
        template("$(format-json --scope nv-pairs)\n")
        perm(0644)
    );
};

原理说明

  • $(replace ${PROGRAM} "/" "_")会将${PROGRAM}字段中的所有/字符替换为_
  • 当${PROGRAM}的值为postfix/smtp时,替换后会变为postfix_smtp
  • 最终生成的日志路径会是/var/log/remote/192.168.10.50-postfix_smtp.log,符合预期的文件路径格式

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 12:37:01