Ssl syslog ng在使用tls时支持postfix多行

Ssl syslog ng在使用tls时支持postfix多行,ssl,postfix-mta,syslog-ng,Ssl,Postfix Mta,Syslog Ng,我试图让syslog ng支持postfix的多行。 据我所知,syslog ng可以使用“flags(no multi-line)”配置选项,但它要么不起作用,要么应用不正确 我的配置: 客户: source s_src { system(); internal(); }; filter f_mail { facility(mail) and not filter(f_debug); }; log { source(s_src); filter(f_mail); d

我试图让syslog ng支持postfix的多行。 据我所知,syslog ng可以使用“flags(no multi-line)”配置选项,但它要么不起作用,要么应用不正确

我的配置:

客户:

source s_src {
       system();
       internal();
};
filter f_mail { facility(mail) and not filter(f_debug); };
log { source(s_src); filter(f_mail); destination(d_mail); };
destination d_tls {
    tcp("logs.myserver.com" port(999)
    tls( ca_dir("/etc/syslog-ng/ssl/")) );
};

log {
 source(s_src);
 destination(d_tls);
 };
服务器:

source s_tls {
        tcp(port(999)
        tls( key_file("/etc/syslog-ng/ssl/logs.key")
                cert_file("/etc/syslog-ng/ssl/logs.crt")
        peer_verify(optional-untrusted))
        flags(no-multi-line) # no worky
        );
};
发件人:

无多行:无多行标志禁用消息中的换行;整个消息将转换为一行。请注意,只有当底层传输方法实际支持多行消息时,才会发生这种情况。目前syslog、udp、unix dgram驱动程序支持多行消息;其他驱动程序,例如,tcp驱动程序

因此,目前尚不清楚多行消息首先是如何到达服务器的。作为一种解决方法,您可以将标志放入文件参数:

destination d_farm_cmtslog_debug {
   file("/var/log/cm/cmts.debug" flags(no-multi-line));
};