我拼命地尝试将一条消息作为JSON发送到PHP脚本。
destination d_php {
program("/usr/bin/php -f /data/htdocs/log.php" template("$(format-json)\n") ) ;
};
php脚本没问题。使用简单的宏效果很好,但“format-json”函数总是返回这个:
模板中的错误:$(format-json)
我尝试了我在文档中找到的所有内容,但我得到的所有响应都是“模板中的错误”。官方文档(link)甚至使用了两种不同的拼写,不是很有希望。
有什么想法吗?
答案 0 :(得分:0)
format-json和format_json语法应该起作用,连字符和下划线在syslog-ng中是等效的。 至于实际问题,您是否尝试过设置format-json的scope参数,如“$(format_json --scope selected_macros)”?默认情况下,它为空,这意味着无需格式化。
HTH,
问候,
Robert Fekete
答案 1 :(得分:0)
syslog-ng-mod-json
。
令人遗憾的是,syslog-ng没有给出函数丢失或未知的最轻微暗示,而不是一般的错误。
答案 2 :(得分:0)
如果从源代码编译,则应首先安装json-c库(yum install json-c-devel)。