Templates 模板:
- Templates 模板:
- ########################温金
- $template wj-flow01,"/data01/applog_backup/winfae_log/wj-flow01-catalina.out.%$year%-%$month%-%$day%" #定义TC:日志存放路径
- $template wj-flow02,"/data01/applog_backup/winfae_log/wj-flow02-catalina.out.%$year%-%$month%-%$day%" #定义TC:日志存放路径
- :syslogtag,isequal,"wj-flow01" -?wj-flow01;tocFormat
- 模板是rsyslog 的关键特征,它们允许指定任何用户需要的格式。
- 它们也可以用于动态文件名称生成, 每个output 在rsyslog 使用模板 - 使用真实的文件,
- 用户消息等等。
- 数据库写期望它的模板可以被一个合适的SQL语句,这个是高度自定义的。
- 你可以告诉要求左右这些工作当没有指定模板的时候)
- 答案是简单的,尽管模板兼容stock syslogd 格式是硬编码到rsyslogd.
- 这样如果没有模板指定,我们使用那些硬编码模板中的一个
- Templates 是通过template() 语句指定,它们也可以通过$template legacy statements. 指定
- 注意: 模板的关键元素是rsyslog 属性
- The template() statement
- template() 语句是用于定义模板, 注意他是一个静态的语句,那意味着所有的模板是被定义当rsyslog 读取config文件的时候
- 因此,模板不会受到模板或者配置嵌套的影响
- template(parameters)
- 除了这个简单的语法, 列表模板(下面有描述) 支持一个扩展的语法:
- template(parameters) { list-descriptions }
- 每个模板有一个参数名称, 指定模板的类型。
- 名字参数必须是唯一的, 行为是无法预测的 如果它不是。
- 类型参数 指定不同的模板类型,不同的模板类型简单的让不同的方式来指定模板内容。
- 模板类型不会影响一个输出插件可用用它做什么。
- list
- subtree
- string
- plugin
- The various types are described below.
- list:
- 在这种情况下, 模板是通过一个常量和变量语句的列表生成的。
- 那些安装模板说明在大括号里。
- 这种类型也主要是使用结构输出,像ommongodb
- 然而, 它也很好的和基于文本的输出工作,我们推荐使用这个模式
- 如果 更加复杂的属性体检。在这种情况下, 基于列表的模板语法是更加清晰的相比简单的基于字符串的
- 列表模板包含列表Header(type="list") 是通过一个常量和属性语句,
- 在大括号里表示模板语句, 正如名字所说,常量语句描述常量文本和属性描述属性访问。
- 有很多选项来属性,下面有描述。很多那些选项是用于提取特定属性的内存或者来修改文本得到
- template(name="tpl1" type="list") {
- constant(value="Syslog MSG is: '")
- property(name="msg")
- constant(value="', ")
- property(name="timereported" dateFormat="rfc3339" caseConversion="lower")
- constant(value="\n")
- }
- 常量语句:
- 这个提供了一种方式来指定常量文本。文本是用于字面上的,
- 它主要是用于基于文本的输出,因此 一些常量文本可以被包含
- 比如,如果一个复杂的模板是创建用于文件输出,一个通常需要完成它通过一个新行,
- 可以通过一个常量语句介绍。
- template(name="outfmt" type="list") {
- property(name="$!usr!msgnum")
- constant(value="\n")
- }
- 下面的转义序列被认为是在常量文本中:
- 1. \\ 简单的反斜杠
- 2.\n
- 注意 如果一个不支持的字符跟着一个反斜杠,这是对待为一个错误,行为是不可预测的
- 避免 文本模板的使用 对于基于文本输出和结构使用,如果你要支持一些常量文本
- 例如 mongodb,你必须包含一个outname,这里可以看到:
- template(name="outfmt" type="list") {
- property(name="$!usr!msgnum")
- constant(value="\n" outname="IWantThisInMyDB")
- }
- 常量语句支持以下参数:
- 值 常量值来使用
- outname 输出域名字
- 属性声明
- 此语句是用于包含属性文件,它可以访问所有的属性。
- 选项允许来指定选择属性的部分或者修改它 它支持下面的参数:
- 传统格式:
- 在rsyslog v6之前, 你需要使用$template 语句来配置模板,
- 它们提供了等价于字符和基于插件的模板,传统的语句在V7继续可以用,然而我们推荐避免传统格式用于新的写入到配置文件,
- 传统的和当前配置语句可以共存于相同的配置文件
- The general format is
- $template name,param[,options]
- ########################温金
- $template wj-flow01,"/data01/applog_backup/winfae_log/wj-flow01-catalina.out.%$year%-%$month%-%$day%" #定义TC:日志存放路径
- "name" 是模板名字和"param" 是一个简单的参数 指定模板内容,选项部分是用于设置模板选项
- 字符串:
- 参数是同样的字符串 使用当前样式的格式你指定在字符串参数
- $template strtpl,"PRI: %pri%, MSG: %msg%\n"
- $template tocFormat,"%msg%\n"
- 注意 list 模板 是不可用的在传统格式里, 因此你需要使用复杂属性替换结构来做复杂的事情
- 保留模板名字:
- 模板名字以 “RSYSLOG_” 开头的是被保留用于rsyslog使用,
- 不要使用它们,否则 你可能受到一个冲突( 不可预知的行为)
- 传统的基于字符串的模板例子:
- 这个章节提供一些默认模板在 legacy format, 用于rsyslog v6之前的版本。
- 注意 这个格式仍旧被支持,因此没有必要硬升级现在的配置。
- 然而,它是强力推荐 传统的结构是不被使用了当制作新的模板。
- 注意每个 $template statement 是在一个单独的行,但是大概跨越多行来显示通过你的浏览器。
- 行是通过空行分隔,记录, 换行是重要的在 legacy format.
- $template FileFormat,"%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
- $template TraditionalFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
- $template ForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%"
- $template TraditionalForwardFormat,"<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%"
- $template StdSQLFormat,"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%',
- %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL``
Templates 模板:的更多相关文章
- python测试开发django-2.templates模板与html页
前言 Django 中的视图的概念是一类具有相同功能和模板的网页的集合.通俗一点来说,就是你平常打开浏览器,看到浏览器窗口展示出来的页面内容,那就是视图.前面一章通过浏览器访问http://127.0 ...
- django templates模板
Django templates模板 HTML代码可以被直接硬编码在views视图代码中,虽然这样很容易看出视图是怎么工作的,但直接将HTML硬编码到视图里却并不是一个好主意. 让我们来看一下为什么: ...
- python测试开发django-69.templates模板过滤器filter
前言 templates 模板里面过滤器 filter 的作用是对变量的出来,比如小写转大写,替换一些特殊字符,对列表取值,排序等操作. 内置的过滤器有很多,本篇拿几个常用的过滤器做案例讲解下相关的功 ...
- python测试开发django-67.templates模板变量取值
前言 django 的模板里面变量取值是通过句点语法来取值,就是一个点(.)符号.取值的对象也可以是字符串,int类型,list列表,字典键值对,也可以是一个类的实例对象. views视图 比如我在 ...
- Django web框架-----Django templates模板
说明:mytestsite是django框架下的项目,quicktool是mytestsite项目中的应用 一般的变量之类的用 {{ }}(变量),功能类的比如循环.条件判断是用 {% %}(标签) ...
- 11、Django实战第11天:templates模板继承
Django模板的继承,它首先定义一个整体的框架(父类),然后动态的部分(子类)只需要重写自己本身的代码就可以了. 1.在templates目录下创建base.html 2.把org-list.htm ...
- Ansible之templates模板
一.jinja2简介解 Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Djanjo的模板引擎,并扩展了其语法和一系列强大的功能.ansible的模板配置文件就是用jinja2 ...
- Django之templates模板
模板渲染: 官方文档:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#std:templatetag-for 模板渲染两种 ...
- Angular - Templates(模板)
点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ 在Angular中,模板是一个包含了Angular特定元素和属性的HTML.Angula ...
随机推荐
- Gmail邮件功能那么强大,GMail被封,在国内怎么用gmail收邮件?
IT圈子里最热门的话题一定是:gmail被封,该怎么办?gmail由于强大的邮件功能,ITer一定是人手一个or多个,之前想要收发gmail使用imap或SMTP方式是可以在国内正常使用的,目前ima ...
- log4j级别输出
log4j 我们知道: log4j.logger.XX cover ==> log4j.rootLogger log4j.appender.XX.Threshold决定了最低接收级别 也就是说 ...
- [转] 在 Linux 中怎样使用cp命令合并目录树
PS:通过cp -r --link a/* b/* merged 硬链接不需要复制 怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子. 假设 dir1 和 dir2 目 ...
- angularjs手动解析表达式($parse)
<!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...
- python的按位运算
#coding=utf-8#"&"按位与运算,是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算a=7&18print a'''首先将7转化为二进制,得到 ...
- JavaScript基础(一)
JavaScript一.什么是JavaScript?脚本描述语言,网页交互特效,说白了,就是实现HTML实现不了的效果.(JavaScript是一种基于对象.事件驱动的简单脚本语言,嵌入在HTML文档 ...
- grep,awk和sed
commons: all of them could use regular-expression to match the result. differences: 1)grep: search f ...
- jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
这篇文章主要介绍了jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate),需要的朋友可以参考下 使用jQuery ui首先需要引入jQuery类库 ...
- 如何通过Request.ServerVariables["HTTP_USER_AGENT"]获取客户端操作系统信息
http://www.useragentstring.com/pages/api.php
- 武汉科技大学ACM :1006: 华科版C语言程序设计教程(第二版)习题7.15
Problem Description 输入n个字符串(n<=100),输出其中最长的串,如果有多个则取最先找到的那一个. Input 多组测试数据. 每组测试数据第一行包含一个整数n,表示一共 ...