From cd2b24dfc45c4b115ace6d17ab0237511fef3d66 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Tue, 19 Feb 2008 10:30:42 +0000 Subject: - added doc on how expressions will work - cleaned up the stringbuf Construct interface - did some cleanup on stringbuf calls - we now have much better interfaces and macros --- doc/expression.html | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 doc/expression.html (limited to 'doc/expression.html') diff --git a/doc/expression.html b/doc/expression.html new file mode 100644 index 00000000..51d99900 --- /dev/null +++ b/doc/expression.html @@ -0,0 +1,24 @@ + + +Expressions + + + +

Expressions

+

Rsyslog supports expressions at a growing number of places. So +far, they are supported for filtering messages.

+

+

Formal Definition

+ +

Below is the formal definition of expression format (in ABNF, RFC 2234):
+

expr     := e_and *("or" e_and)
e_and := e_cmp *("and" e_cmp)
e_cmp := val cmp_op val
val := ["+" / "-"] term *(("+" / "-") term)
term := factor *(("*" / "/" / "%") factor)
factor := ["not"] terminal
terminal := var / constant / function / "(" expr ")"
function := name "(" *("," expr) ")"
var := "$" varname
varname := msgvar / sysvar
msgvar := name
sysvar := "$" name
name := alpha *(alnum)
constant := string / number
string := simpstr / tplstr ; tplstr will be implemented in next phase
simpstr := "'" *char "'" ; use your imagination for char ;)
tplstr := '"' template '"' ; not initially implemented
number := 1*digit
cmp_op := "==" / "!=" / "<" / ">" / "<=" / ">="
digit := %x30-39
alpha := "a" ... "z" # all letters
alnum :* alpha / digit / "_"
+

[rsyslog.conf overview] +[manual index] [rsyslog site]

+

This documentation is part of the +rsyslog +project.
+Copyright © 2008 by Rainer +Gerhards and +Adiscon. +Released under the GNU GPL version 3 or higher.

+ \ No newline at end of file -- cgit