# 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
- Rsyslog Parameter String Constants
  - Uses
  - Escaping
  - Types
- Examples
  - Simple expansion
  - Brace form and adjacent text
  - Key/value pairs (common with module parameters)
  - Conditional enablement of configuration objects via `config.enabled`
  - Including a file’s content
  - Compatibility note for older releases
  - Rationale
- Variable (Property) types
  - set
  - unset
  - reset
- Lookup Tables
- General Queue Parameters
  - Usage
  - Configuration Parameters
  - Examples
  - See also
- The rsyslog “call” statement
  - syntax
  - compatibility notes
  - related links
- The rsyslog “call_indirect” statement
  - syntax
  - examples
  - additional information
- global() configuration object
  - Reverse DNS caching
- The rsyslog include() object
  - How it Works
  - Parameters
  - Examples

Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project

Contributing: Source & docs: rsyslog source project

© 2008–2025 Rainer Gerhards and others. Licensed under the Apache License 2.0.