1. Templates 模板:
  2.  
  3. ########################温金
  4. $template wj-flow01,"/data01/applog_backup/winfae_log/wj-flow01-catalina.out.%$year%-%$month%-%$day%" #定义TC:日志存放路径
  5. $template wj-flow02,"/data01/applog_backup/winfae_log/wj-flow02-catalina.out.%$year%-%$month%-%$day%" #定义TC:日志存放路径
  6.  
  7. :syslogtag,isequal,"wj-flow01" -?wj-flow01;tocFormat
  8. 模板是rsyslog 的关键特征,它们允许指定任何用户需要的格式。
  9.  
  10. 它们也可以用于动态文件名称生成, 每个output rsyslog 使用模板 - 使用真实的文件,
  11.  
  12. 用户消息等等。
  13.  
  14. 数据库写期望它的模板可以被一个合适的SQL语句,这个是高度自定义的。
  15.  
  16. 你可以告诉要求左右这些工作当没有指定模板的时候)
  17.  
  18. 答案是简单的,尽管模板兼容stock syslogd 格式是硬编码到rsyslogd.
  19.  
  20. 这样如果没有模板指定,我们使用那些硬编码模板中的一个
  21.  
  22. Templates 是通过template() 语句指定,它们也可以通过$template legacy statements. 指定
  23.  
  24. 注意: 模板的关键元素是rsyslog 属性
  25.  
  26. The template() statement
  27.  
  28. template() 语句是用于定义模板, 注意他是一个静态的语句,那意味着所有的模板是被定义当rsyslog 读取config文件的时候
  29.  
  30. 因此,模板不会受到模板或者配置嵌套的影响
  31.  
  32. template(parameters)
  33.  
  34. 除了这个简单的语法, 列表模板(下面有描述) 支持一个扩展的语法:
  35.  
  36. template(parameters) { list-descriptions }
  37.  
  38. 每个模板有一个参数名称, 指定模板的类型。
  39.  
  40. 名字参数必须是唯一的, 行为是无法预测的 如果它不是。
  41.  
  42. 类型参数 指定不同的模板类型,不同的模板类型简单的让不同的方式来指定模板内容。
  43.  
  44. 模板类型不会影响一个输出插件可用用它做什么。
  45.  
  46. list
  47. subtree
  48. string
  49. plugin
  50.  
  51. The various types are described below.
  52.  
  53. list
  54.  
  55. 在这种情况下, 模板是通过一个常量和变量语句的列表生成的。
  56.  
  57. 那些安装模板说明在大括号里。
  58.  
  59. 这种类型也主要是使用结构输出,像ommongodb
  60.  
  61. 然而, 它也很好的和基于文本的输出工作,我们推荐使用这个模式
  62.  
  63. 如果 更加复杂的属性体检。在这种情况下, 基于列表的模板语法是更加清晰的相比简单的基于字符串的
  64.  
  65. 列表模板包含列表Header(type="list") 是通过一个常量和属性语句,
  66.  
  67. 在大括号里表示模板语句, 正如名字所说,常量语句描述常量文本和属性描述属性访问。
  68.  
  69. 有很多选项来属性,下面有描述。很多那些选项是用于提取特定属性的内存或者来修改文本得到
  70.  
  71. template(name="tpl1" type="list") {
  72. constant(value="Syslog MSG is: '")
  73. property(name="msg")
  74. constant(value="', ")
  75. property(name="timereported" dateFormat="rfc3339" caseConversion="lower")
  76. constant(value="\n")
  77. }
  78.  
  79. 常量语句:
  80.  
  81. 这个提供了一种方式来指定常量文本。文本是用于字面上的,
  82.  
  83. 它主要是用于基于文本的输出,因此 一些常量文本可以被包含
  84.  
  85. 比如,如果一个复杂的模板是创建用于文件输出,一个通常需要完成它通过一个新行,
  86.  
  87. 可以通过一个常量语句介绍。
  88.  
  89. template(name="outfmt" type="list") {
  90. property(name="$!usr!msgnum")
  91. constant(value="\n")
  92. }
  93.  
  94. 下面的转义序列被认为是在常量文本中:
  95.  
  96. 1. \\ 简单的反斜杠
  97.  
  98. 2.\n
  99.  
  100. 注意 如果一个不支持的字符跟着一个反斜杠,这是对待为一个错误,行为是不可预测的
  101.  
  102. 避免 文本模板的使用 对于基于文本输出和结构使用,如果你要支持一些常量文本
  103.  
  104. 例如 mongodb,你必须包含一个outname,这里可以看到:
  105.  
  106. template(name="outfmt" type="list") {
  107. property(name="$!usr!msgnum")
  108. constant(value="\n" outname="IWantThisInMyDB")
  109. }
  110.  
  111. 常量语句支持以下参数:
  112.  
  113. 常量值来使用
  114.  
  115. outname 输出域名字
  116.  
  117. 属性声明
  118.  
  119. 此语句是用于包含属性文件,它可以访问所有的属性。
  120.  
  121. 选项允许来指定选择属性的部分或者修改它 它支持下面的参数:
  122.  
  123. 传统格式:
  124.  
  125. rsyslog v6之前, 你需要使用$template 语句来配置模板,
  126.  
  127. 它们提供了等价于字符和基于插件的模板,传统的语句在V7继续可以用,然而我们推荐避免传统格式用于新的写入到配置文件,
  128.  
  129. 传统的和当前配置语句可以共存于相同的配置文件
  130.  
  131. The general format is
  132.  
  133. $template name,param[,options]
  134.  
  135. ########################温金
  136. $template wj-flow01,"/data01/applog_backup/winfae_log/wj-flow01-catalina.out.%$year%-%$month%-%$day%" #定义TC:日志存放路径
  137.  
  138. "name" 是模板名字和"param" 是一个简单的参数 指定模板内容,选项部分是用于设置模板选项
  139.  
  140. 字符串:
  141.  
  142. 参数是同样的字符串 使用当前样式的格式你指定在字符串参数
  143.  
  144. $template strtpl,"PRI: %pri%, MSG: %msg%\n"
  145.  
  146. $template tocFormat,"%msg%\n"
  147.  
  148. 注意 list 模板 是不可用的在传统格式里, 因此你需要使用复杂属性替换结构来做复杂的事情
  149.  
  150. 保留模板名字:
  151.  
  152. 模板名字以 RSYSLOG_ 开头的是被保留用于rsyslog使用,
  153.  
  154. 不要使用它们,否则 你可能受到一个冲突( 不可预知的行为)
  155.  
  156. 传统的基于字符串的模板例子:
  157.  
  158. 这个章节提供一些默认模板在 legacy format, 用于rsyslog v6之前的版本。
  159.  
  160. 注意 这个格式仍旧被支持,因此没有必要硬升级现在的配置。
  161.  
  162. 然而,它是强力推荐 传统的结构是不被使用了当制作新的模板。
  163.  
  164. 注意每个 $template statement 是在一个单独的行,但是大概跨越多行来显示通过你的浏览器。
  165.  
  166. 行是通过空行分隔,记录, 换行是重要的在 legacy format.
  167.  
  168. $template FileFormat,"%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
  169.  
  170. $template TraditionalFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
  171.  
  172. $template ForwardFormat,"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%"
  173.  
  174. $template TraditionalForwardFormat,"<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%"
  175.  
  176. $template StdSQLFormat,"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%',
  177. %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL``

Templates 模板:的更多相关文章

  1. python测试开发django-2.templates模板与html页

    前言 Django 中的视图的概念是一类具有相同功能和模板的网页的集合.通俗一点来说,就是你平常打开浏览器,看到浏览器窗口展示出来的页面内容,那就是视图.前面一章通过浏览器访问http://127.0 ...

  2. django templates模板

    Django templates模板 HTML代码可以被直接硬编码在views视图代码中,虽然这样很容易看出视图是怎么工作的,但直接将HTML硬编码到视图里却并不是一个好主意. 让我们来看一下为什么: ...

  3. python测试开发django-69.templates模板过滤器filter

    前言 templates 模板里面过滤器 filter 的作用是对变量的出来,比如小写转大写,替换一些特殊字符,对列表取值,排序等操作. 内置的过滤器有很多,本篇拿几个常用的过滤器做案例讲解下相关的功 ...

  4. python测试开发django-67.templates模板变量取值

    前言 django 的模板里面变量取值是通过句点语法来取值,就是一个点(.)符号.取值的对象也可以是字符串,int类型,list列表,字典键值对,也可以是一个类的实例对象. views视图 比如我在 ...

  5. Django web框架-----Django templates模板

    说明:mytestsite是django框架下的项目,quicktool是mytestsite项目中的应用 一般的变量之类的用 {{ }}(变量),功能类的比如循环.条件判断是用 {% %}(标签) ...

  6. 11、Django实战第11天:templates模板继承

    Django模板的继承,它首先定义一个整体的框架(父类),然后动态的部分(子类)只需要重写自己本身的代码就可以了. 1.在templates目录下创建base.html 2.把org-list.htm ...

  7. Ansible之templates模板

    一.jinja2简介解 Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Djanjo的模板引擎,并扩展了其语法和一系列强大的功能.ansible的模板配置文件就是用jinja2 ...

  8. Django之templates模板

    模板渲染: 官方文档:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#std:templatetag-for 模板渲染两种 ...

  9. Angular - Templates(模板)

    点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ 在Angular中,模板是一个包含了Angular特定元素和属性的HTML.Angula ...

随机推荐

  1. Gmail邮件功能那么强大,GMail被封,在国内怎么用gmail收邮件?

    IT圈子里最热门的话题一定是:gmail被封,该怎么办?gmail由于强大的邮件功能,ITer一定是人手一个or多个,之前想要收发gmail使用imap或SMTP方式是可以在国内正常使用的,目前ima ...

  2. log4j级别输出

    log4j  我们知道: log4j.logger.XX cover ==> log4j.rootLogger log4j.appender.XX.Threshold决定了最低接收级别 也就是说 ...

  3. [转] 在 Linux 中怎样使用cp命令合并目录树

    PS:通过cp -r --link a/* b/* merged 硬链接不需要复制 怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子. 假设 dir1 和 dir2 目 ...

  4. angularjs手动解析表达式($parse)

    <!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...

  5. python的按位运算

    #coding=utf-8#"&"按位与运算,是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算a=7&18print a'''首先将7转化为二进制,得到 ...

  6. JavaScript基础(一)

    JavaScript一.什么是JavaScript?脚本描述语言,网页交互特效,说白了,就是实现HTML实现不了的效果.(JavaScript是一种基于对象.事件驱动的简单脚本语言,嵌入在HTML文档 ...

  7. grep,awk和sed

    commons: all of them could use regular-expression to match the result. differences: 1)grep: search f ...

  8. jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)

    这篇文章主要介绍了jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate),需要的朋友可以参考下 使用jQuery ui首先需要引入jQuery类库 ...

  9. 如何通过Request.ServerVariables["HTTP_USER_AGENT"]获取客户端操作系统信息

    http://www.useragentstring.com/pages/api.php

  10. 武汉科技大学ACM :1006: 华科版C语言程序设计教程(第二版)习题7.15

    Problem Description 输入n个字符串(n<=100),输出其中最长的串,如果有多个则取最先找到的那一个. Input 多组测试数据. 每组测试数据第一行包含一个整数n,表示一共 ...