omruleset: ruleset output/including module (DEPRECATED)¶
Module Name: |
omruleset |
Author: |
Warning
THIS MODULE IS DEPRECATED AND SHOULD NOT BE USED.
It is outdated and inefficient. It has been replaced by the much more efficient “call” RainerScript statement.
The documentation below is provided to help you identify and migrate legacy configurations.
Identifying and Migrating Legacy Configurations¶
If you encounter configuration files using omruleset, they are using an obsolete method to invoke rulesets. You should convert these to the modern call statement, which is faster, safer, and easier to read.
Below are common patterns you might find and how to convert them.
Basic Ruleset Invocation¶
If you see this legacy code:
$ActionOmrulesetRulesetName my_ruleset
*.* :omruleset:
It means:
“Send every message (*.*) to the ruleset named my_ruleset.”
Replace it with:
call my_ruleset
Conditional Ruleset Invocation (Filters)¶
If you see this legacy code:
$ActionOmrulesetRulesetName nested
:msg, contains, "error" :omruleset:
It means:
“If the message contains ‘error’, send it to the ruleset named nested.”
Replace it with:
if($msg contains "error") then {
call nested
}
Common Action / Write-to-File Pattern¶
A common use case for omruleset was to define a complex action (like writing to a specific file with its own queue) and invoke it from multiple places.
If you see this legacy code:
# Definition of the target ruleset
$RuleSet CommonAction
$RulesetCreateMainQueue on
*.* /path/to/file.log
# ... later in the config ...
$ActionOmrulesetRulesetName CommonAction
mail.info :omruleset:
It means:
“Define a ruleset CommonAction that writes to a file (and has its own queue). Then, if a message is mail.info, send it to that ruleset.”
Replace it with:
# Definition (using RainerScript)
ruleset(name="CommonAction" queue.type="linkedList") {
action(type="omfile" file="/path/to/file.log")
}
# Invocation
if prifilt("mail.info") then {
call CommonAction
}
Note
The ruleset() object definition allows you to specify queue parameters (like queue.type="linkedList") directly within the definition, making the configuration much clearer than the old $RulesetCreateMainQueue directives.
Directives Reference (for Identification)¶
You may see these obsolete directives in old configuration files:
$ModLoad omruleset: Loads the module. Remove this line.
$ActionOmrulesetRulesetName: Specifies the target ruleset for the next
:omruleset:action.
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.