Changes since tdaq-05-XX

It is possible to use ERS parameters and ERS context information in selection criteria syntax.

Selection criteria syntax allows to filter messages specifying selection expressions using ERS Issue attributes:
severity (sev), applicationID (app), messageID (msg), qualifiers (qual), parameters(param or par) and context, grouping of expressions and arbitrary logical combination (and, or, not) of them. Syntax is defined using EBNF notation (http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf):

key = 'app' | 'msg' | 'qual'
sev = 'sev'
par = '(param | par)(+[a-zA-Z_-])'
context_item = 'app' | 'host' | 'user' | 'package' | 'file' | 'function'
context = 'context(context_item)'
sevlev = 'fatal' | 'error' | 'warning' | 'info' | 'information'
token_wildcard = +[a-zA-Z_:\-]-'*'
token = +[a-zA-Z_:\-]
item = (key ('=' | '!=') token_wildcard) | (sev ('=' | '!=') sevlev) | (par ('=' | '!=') token) | (context ('=' | '!=') token)
factor = item | ( expression ) | ('not' factor)
expression = '*' | factor *(('and' expression) | ('or' expression))

Keywords and logical operators are case-insensitive. String comparison operations support simple pattern matching. An example of a selection criteria is

(sev=ERROR or msg=Failed*) or (app=Tile* and not qual=debug) and param(module)=EMBC* and context(user)!=crrc
Doxygen documentation in tdaq-06-00-00.