Syslog ng格式json不工作
我正在拼命尝试将一条消息作为JSON发送到PHP脚本Syslog ng格式json不工作,json,templates,syslog-ng,Json,Templates,Syslog Ng,我正在拼命尝试将一条消息作为JSON发送到PHP脚本 destination d_php { program("/usr/bin/php -f /data/htdocs/log.php" template("$(format-json)\n") ) ; }; php脚本很好。使用简单宏可以很好地工作,但“格式化json”函数始终会返回以下内容: 模板中出错:$(json格式) 我尝试了我在文档中能找到的一切,但我得到的所有回应都是“模板中的错误”。官方文件甚至使用了两种不同的拼写,这不是很有
destination d_php {
program("/usr/bin/php -f /data/htdocs/log.php" template("$(format-json)\n") ) ;
};
php脚本很好。使用简单宏可以很好地工作,但“格式化json”函数始终会返回以下内容:
模板中出错:$(json格式)
我尝试了我在文档中能找到的一切,但我得到的所有回应都是“模板中的错误”。官方文件甚至使用了两种不同的拼写,这不是很有希望
有什么想法吗?格式json和格式json语法都应该有效,连字符和下划线在syslog ng中是等效的。 至于实际问题,您是否尝试过设置format json的scope参数,比如“$(format_json——scope selected_macros)”?默认情况下,它是空的,这意味着没有要格式化的内容 嗯, 问候,
罗伯特·费克特找到了原因。显然,syslog ng在Ubuntu(12)上被分成了不同的包。我必须安装
syslog ng mod json
很遗憾,syslog ng没有给出函数丢失或未知的一点提示,而不是一些一般性错误。如果您是从源代码处编译的,您应该首先安装json-c库(yum install json-c-devel)