It's hard to explain what I want, but here I'll try. A normal log path is thus: log { source(...); filter(...); destination(...); }; ...and when a match occurs (source and filter) then the message is sent to the destination and matching stops. To do what I'd like, with what I've seen so far, is to do something like this: log { source(a); filter(f_ba); destination(c); destination(d); }; log { source(a); filter(f_bb); destination(c); destination(e); }; log { source(a); filter(f_bc); destination(c); destination(f); }; log { source(a); filter(f_bd); destination(c); destination(g); }; log { source(a); filter(f_other); destination(c); }; What I'd like would be something closer to this - taking "passthru" to be an option to NOT stop filtering: log { source(a); filter(f_ba); destination(d); passthru; }; log { source(a); filter(f_bb); destination(e); passthru; }; log { source(a); filter(f_bc); destination(f); passthru; }; log { source(a); filter(f_bd); destination(g); passthru; }; log { source(a); filter(f_other); destination(c); }; This would be very much useful in situations like: log { source(internal); filter(f_crit); destination(pager); } log { source(internal); filter(DEFAULT); destination(mesg); } Or other similar...