【问题标题】:Replace fluentd string using regex使用正则表达式替换流利的字符串
【发布时间】:2018-04-26 10:16:22
【问题描述】:

发送日志时,我想替换idpw 值,如下所示:

https://m.xxxxx.com/yyyy.xxxx?id=aaaa&pw=cccc
https://m.xxxxx.com/aaaa.xxxx?id=aaaa&pass=cccc

具有不同的值,例如:

https://m.xxxxx.com/yyyy.xxxx?id=*&pw=****
https://m.xxxxx.com/aaaa.xxxx?id=*&pass=****

很难创建插件。是否可以通过使用现有的filter_record_transformergrepid = aaaa 值转换为id = **** 进行传输? filter_record_transformergsub是不是不能用了?

【问题讨论】:

    标签: ruby regex fluentd


    【解决方案1】:
    "https://m.xxxxx.com/yyyy.xxxx?id=aaaa&pw=cccc".
      gsub(/(?<=id=)[^&]+|(?<=pw=)[^&]+/) { |m| '*' * m.length }
    #⇒ "https://m.xxxxx.com/yyyy.xxxx?id=****&pw=****"
    

    我们在这里使用positive lookbehind 来精确匹配查询的idpw 部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-27
      • 1970-01-01
      • 2018-07-13
      • 2015-11-30
      • 2021-11-29
      相关资源
      最近更新 更多