On Thu, Nov 11, 2004 at 09:42:50AM +0100, Balazs Scheidler wrote:
On Wed, 2004-11-10 at 18:14, Ed Ravin wrote:
I want syslog-ng to discard a message that matches a particular string. There doesn't seem to be an easy way to do that, so I came up with this scheme instead:
[...] filter unwanted { program("noisy-daemon") and match("unwanted alarm"); };
[...] destination discard { file("/dev/null" perm(0666) dir_perm(0755) create_dirs(no)); };
[...] log { source(remote); filter(unwanted); destination(discard); flags(final); };
In spite of the "flags(final)" in the log path, the unanted message still shows up in my other log paths. Have I misunderstood how to use "final"? Is there some other way to discard a message?
My environment is NetBSD 1.5 and NetBSD 2.0.
No, it should work exactly as you described it, however log statements are processed in order, thus if you only want to send it to one destination then your final statement must come first.
That's pretty much what I did - I have several log {} statements, and the first one was as shown above with destination /dev/null and "flags(final)". I'll double-check everything and try again. -- Ed