Index: ossp-pkg/l2/TODO RCS File: /v/ossp/cvs/ossp-pkg/l2/TODO,v rcsdiff -q -kk '-r1.25' '-r1.26' -u '/v/ossp/cvs/ossp-pkg/l2/TODO,v' 2>/dev/null --- TODO 2001/09/21 17:29:47 1.25 +++ TODO 2001/09/26 18:16:13 1.26 @@ -241,3 +241,92 @@ compiliert wird. Explizit anschalten läßt sich die standard-konforme Erweiterung über "-std=c9x", bzw. "-std=c99" bei neueren gccs. +High-Level Configuration Interface +================================== + +Config-File (OSSP): + +logging { + channel 0 null ALL; + + channel 1 prefix CUSTOM1 { prefix="%Y-%m-%d/%H:%M:%S" }; + channel 2 buffer { size=8k }; + channel 3 file { path=/path/to/ossp.stat.log; mode=0644 }; + + channel 4 prefix wmask=DEBUG { prefix="%Y-%m-%d/%H:%M:%S %L" }; + + channel 5 buffer { size=4k }; + channel 6 file { path=/path/to/ossp.error.log; mode=0644 }; + + channel 7 syslog wmask=ERROR { peer=remote; host=loghost }; + + channel 8 filter { regex="(memory|foo)" }; + channel 9 smtp { host=loghost; rcpt="rse@engelschall.com" }; + + stream { 0->(4,7); 4->(5,7); 5->6; 8->9; 1->2->3 }; + + log access 0; + log stat 1; + +}; + +Alternative: + +log access { + error: syslog; + prefix -> { + buffer(size=4k) -> + file(path=/path/to/log, mode=0644); + panic: smtp(host=en1, rcpt=rse@engelschall.com); + } +} + +Command-Line (lmtp2nntp): + +$ lmtp2nntp -l 'INFO:' + { prefix(prefix="%Y-%m-%d/%H:%M:%S %L") + ->{ buffer(size=4k) + ->file(path=/path/to/log,mode=0644); + smtp(host=en1,rcpt=rse@engelschall.com) + }; + error:syslog + } + +Grammar +======= + +hierarchy : stream + | '{' stream_list '}' + ; + +stream_list : hierarchy + | hierarchy ';' stream_list + ; + +stream : channel + | channel "->" hierarchy + ; + +channel : channel_mask ':' channel_spec + | channel_spec + ; + +channel_mask : T_ID_LEVEL + | '(' channel_levels ')' + ; + +channel_levels : T_ID_LEVEL + | T_ID_LEVEL '|' channel_mask_list + ; + +channel_spec : T_ID_CHANNEL + | T_ID_CHANNEL '(' channel_params ')' + ; + +channel_params : channel_param + | channel_param ',' channel_params + ; + +channel_param : T_ID_PARAM '=' T_STRING + ; +