multilog filtering issues

richard lucassen <[email protected]> Thu, 4 Dec 2008 23:48:30 +0100
Newsgroups gmane.comp.djb.syslog
Organization XAQ Systems
Message-ID <[email protected]>
Hello list,

Why is this NOT giving output to /tmp/testlog/current:

echo -e "./aaa.bbb.ccc: success" | multilog -* +*success -*aaa.bbb.ccc*
/tmp/testlog/

while this is giving output to /tmp/testlog/current:

echo -e "./aaa.bbb.ccc: success" | multilog -* +*success
-*aa.bbb.ccc* /tmp/testlog/

According to the docs http://cr.yp.to/daemontools/multilog.html :

<quote>
pattern is a string of stars and non-stars. It matches any concatenation
of strings matched by all the stars and non-stars in the same order. A
non-star matches itself. A star before the end of pattern matches any
string that does not include the next character in pattern. A star at
the end of pattern matches any string.
</quote>

For me, this is a quite cryptic description. I know that djb's doc is
very accurate, so I must just miss something crucial here. Maybe it's a
lack of knowledge of the English language. Can someone shine a light on
this matter for me?

Target: I want publicfile to only log "success" lines, except queries
for "certain.file", which occur every minute, something like this:

multilog t '-*' '+*success' '-*certain.file*' ./main


R.

-- 
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht                                        |
| Public key and email address:                                    |
| http://www.lucassen.org/mail-pubkey.html                         |
+------------------------------------------------------------------+