From 446a982c2b8f77eb0e349e5bd8240ece6a0772bd Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Mon, 16 Mar 2009 16:05:15 +0100
Subject: some more information on rainerscript imlementation
(taken from old rscript branch, which is now obsolete)
---
doc/rscript_abnf.html | 2 ++
1 file changed, 2 insertions(+)
(limited to 'doc')
diff --git a/doc/rscript_abnf.html b/doc/rscript_abnf.html
index 278fb59c..d60edb5c 100644
--- a/doc/rscript_abnf.html
+++ b/doc/rscript_abnf.html
@@ -30,6 +30,8 @@ table... values('&$facility&','&$severity&...?]
endact
table... values('&$facility&','&$severity&...?]
)
... or ...
define action writeMySQL(
type='ommysql.so', queue.mode='disk', queue.highwatermark = 300,
action.dbname='events', action.dbuser='uid',
[?action.template='templatename'?] or [?action.sql='insert into
table... values('&$facility&','&$severity&...?]
)
if $message contains "error" then action writeMySQL(action.dbname='differentDB')
[rsyslog.conf overview]
+
Implementation
+RainerScript will be implemented via a hand-crafted LL(1) parser. I was tempted to use yacc, but it turned out the resulting code was not thread-safe and as such did not fit within the context of rsyslog. Also, limited error handling is not a real problem for us: if there is a problem in parsing the configuration file, we stop processing. Guessing what was meant and trying to recover would IMHO not be good choices for something like a syslogd.
[manual index] [rsyslog site]
This documentation is part of the
rsyslog
--
cgit