# RainerScript

RainerScript is a scripting language specifically designed and well-suited for processing network events and configuring event processors. It is the prime configuration language used for rsyslog. Please note that RainerScript may not be abbreviated as rscript, because that’s somebody else’s trademark.

Some limited RainerScript support is available since rsyslog 3.12.0 (for expression support). In v5, “if .. then” statements are supported. The first full implementation is available since rsyslog v6.

- Data Types
- Expressions
- Functions
  - Built-in Functions
  - Module Functions
- Control Structures
  - if
  - if/else-if/else
  - foreach
  - call
  - continue
- configuration objects
  - Common Parameters
  - Objects
- String Constants
  - Uses
  - Types
- Variable (Property) types
  - set
  - unset
  - reset
- Lookup Tables
- General Queue Parameters
  - Usage
  - Configuration Parameters
  - Examples
- The rsyslog “call” statement
  - syntax
  - compatibility notes
  - related links
- The rsyslog “call_indirect” statement
  - syntax
  - examples
  - additional information
- global() configuration object
  - privdrop.group.name
  - privdrop.group.id
  - privdrop.user.name
  - privdrop.user.id
- The rsyslog include() object
  - How it Works
  - Parameters
  - Examples

See also

Help with configuring/using `Rsyslog`:

- Mailing list - best route for general questions

- GitHub: rsyslog source project - detailed questions, reporting issues that are believed to be bugs with `Rsyslog`

- Stack Exchange (View, Ask) - experimental support from rsyslog community

See also

Contributing to `Rsyslog`:

- Source project: rsyslog project README.

- Documentation: rsyslog-doc project README

Copyright 2008-2020 Rainer Gerhards (Großrinderfeld), and Others.