# Functions

There are two types of RainerScript functions: built-ins and modules. Built-in functions can always be called in the configuration. To use module functions, you have to load the corresponding module first. To do this, add the following line to your configuration:

    module(load="<name of module>")

If more than one function with the same name is present, the function of the first module loaded will be used. Also, an error message stating this will be generated. However, the configuration will not abort. Please note that built-in functions will always be automatically loaded before any modules. Because of this, you are unable to override any of the built-in functions, since their names are already in use. The name of a function module starts with fm.

- Built-in Functions
  - cnum()
  - cstr()
  - dyn_inc()
  - exec_template()
  - exists()
  - field()
  - format_time()
  - get_property()
  - getenv()
  - int2hex()
  - num2ipv4() / ipv42num()
  - is_time()
  - lookup()
  - parse_json()
  - parse_time()
  - percentile_observe()
  - previous_action_suspended()
  - prifilt()
  - random()
  - re_extract()
  - re_extract_i()
  - re_match()
  - re_match_i()
  - replace()
  - script_error()
  - strlen()
  - substring()
  - tolower()
  - ltrim() / rtrim()
  - wrap()
- Module Functions
  - Faup
  - HashXX
  - HashXXmod
  - HTTP-Request
  - Unflatten

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.