I have yet another filtering question. On an AIX server using the
syslog-ng.conf stanzas shown below, the only messages being logged to the
d_cisco destination are those I know are coming in under facility local7.
However, those same messages are also being logged to the d_all_ms
destination which I think I'm filtering out. The filters seems correct
and I am successfully using a similar "not" filter elsewhere
(for local2 messages). Can anyone explain what I'm doing wrong?
Thanks!
#######################################################################################
options { long_hostnames(off);
use_fqdn(yes);
log_fifo_size(1000);
chain_hostnames(yes); };
source src { unix-dgram("/dev/log"); internal();
udp(ip(0.0.0.0) port(514)); };
destination d_all_ms
{
file("/logs/machine_specific/$HOST/all.$LEVEL.$YEAR$MONTH$DAY"
group(systems) perm(0664) dir_perm(0664) create_dirs(yes) );};
destination d_cisco
{ file("/logs/cisco/cisco.messages" group(systems) perm(0664)
);};
# CISCO (local7) messages:
filter f_cisco { facility(local7); };
# NO CISCO (local7) messages:
filter f_no_cisco { not facility(local7); };
# Forward all messages to machine specific log monitored by system
admins
log { source(src);
filter(f_no_cisco);
destination(d_all_ms);
};
# Log all messages coming in on local7 facility to
/logs/cisco/cisco.messages
log { source(src);
filter(f_cisco);
destination(d_cisco);
};
#######################################################################################