Hello
I have a problem with syslog-ng using match() in my filters. Here is the part of my syslog-ng.cong:
"
######
# sources
# all known message sources
source s_all {
file("/etc/syslog-ng/logtest" follow_freq(1));
};
######
# destinations
destination d_apache {
file("/etc/syslog-ng/logapache");
};
destination d_system {
file("/etc/syslog-ng/logsystem");
};
destination d_autres {
file("/etc/syslog-ng/logautres");
};
######
# filters
filter f_apache {
match(apache);
};
filter f_system {
match(system);
};
filter f_autres {
match((?!apache));
};
######
# logs
log {
source(s_all);
filter(f_apache);
destination(d_apache);
};
log {
source(s_all);
filter(f_system);
destination(d_system);
};
log {
source(s_all);
filter(f_autres);
destination(d_autres);
"
As you can see, I want to search in lines if the string apache is present, if system is present or if apache is not present. The first two filters are OK, but the third doesn't work. Can you help me to solve the problem?
Thanks.