on it road.com
模板:示例
以下示例定义了一个名为 class 的模板,该模板将 rsyslog 消息格式化以输出消息的时间戳、文本形式的工具、文本形式的优先级、主机名和消息文本,并以新行结束:
$template class, "Time: %timestamp%, Facility: %syslogfacilitytext%, Priority: %syslogpriority-text%, Hostname: %hostname%, Message: %msg%\n"
要将模板用于 /var/log/logfile 消息,请按如下方式包含模板名称:
*.* /var/log/logfile;class
特性
我们可以使用模板内的属性来引用 rsyslog 消息的特定内容。
使用以下语法在模板中定义属性:
%PROPERTY_NAME[:FROM_CHAR:TO_CHAR:OPTION]%
字段描述如下:
字段 | 作用 |
---|---|
PROPERTY_NAME | 属性的名称 |
FROM_CHAR and TO_CHAR | 指定属性作用的字符范围 |
OPTION | 属性选项 |
可以在 http://www.rsyslog.com/doc/property_replacer.html 上找到可用属性和描述的列表。
- 以下属性表示 rsyslog 消息的整个消息文本:
%msg%
- 以下示例表示消息文本的前两个字符:
%msg:1:2%
- 以下属性表示 rsyslog 消息中的主机名:
%hostname%
- 以下属性代表文本形式的消息中的设施:
%syslogfacility-text%
模板(Templates )修改和格式化由 rsyslog 生成的输出。
它们允许指定用户可能想要的任何格式。
它们还用于动态文件名生成。
以下是创建模板的语法:
$template TEMPLATE_NAME,"text %PROPERTY% text", [OPTION]
字段描述如下:
字段 | 作用 |
---|---|
$template | 定义模板的指令 |
TEMPLATE_NAME | 模板名称 |
"text" | 用引号括起来的实际模板文本 |
%PROPERTY% | 用百分号包围的特定消息内容 |
OPTION | 指定修改模板功能的选项 |
模板可用于生成动态文件名。
将属性指定为文件路径的一部分,以便为每个唯一属性创建一个新文件。
例如,使用 timegenerated 属性为每个 rsyslog 消息生成唯一的文件名:
$template DynamicFile,“/var/log/%timegenerated%-test.log”
在规则中指定模板名称以修改 rsyslog 输出。
动态文件由模板和问号 (?) 前缀表示。
例子:
*.* ?DynamicFile
日期:2020-09-17 00:14:41 来源:oir作者:oir