CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/LoongCollector/字符串替换
文档目录
概览版本管理
什么是处理插件
添加字段追加字段添加云资产信息原始数据数据脱敏字段值映射处理丢弃字段字段加密条件字段处理日志过滤时间提取(Go 时间格式)GrokJson日志转SLS Metricotel Metric格式转换otel Trace格式转换字段打包日志限速正则重命名字段分隔符键值对多行切分字符串替换时间提取(strptime 格式)

LoongCollector

字符串替换

processorstringreplace processor插件可以通过全文、正则匹配、去转义的方式实现文本日志的替换。 Stable 推荐版本:iLogtail v1.6.0 及以上 | 参数 | 类型 | 是否必选 | 说明 ...

字符串替换

简介

processor_string_replace processor插件可以通过全文、正则匹配、去转义的方式实现文本日志的替换。

版本

Stable

版本说明

  • 推荐版本:iLogtail v1.6.0 及以上

配置参数

参数 类型 是否必选 说明
Type string 是 插件类型
SourceKey string 是 匹配字段名
Method string 是 无默认值。匹配方式,可选值如下:
const:字符串全文替换。
regex:使用正则提取替换。
unquote:去除转义符。
Match string 否 无默认值。匹配指定数据。
const:输入需要匹配的字符串。当多个子串符合匹配条件时全部替换。
regex:输入需要匹配的正则表达式。当多个子串符合匹配条件时全部替换,也可以用正则分组的方式匹配指定分组。
unquote:去除转义符不需要输入。
ReplaceString string 否 默认值""。替换数据。
const:为匹配后替换的字符串。
regex:为匹配后替换的字符串,支持分组替换。
unquote:去除转义符不需要输入。
DestKey string 否 无默认值。字符串替换后的值存储的新字段,默认不存储新字段。

样例

示例 1:全文匹配与替换

采集/home/test-log/路径下的string_replace.log文件,测试日志内容的正则匹配与替换功能。

  • 输入
echo 'hello,how old are you? nice to meet you' >> /home/test-log/string_replace.log
  • 采集配置
enable: true
inputs:
  - Type: input_file
    FilePaths: 
      - /home/test-log/*.log
processors:
  - Type: processor_string_replace
    SourceKey: content
    Method: const
    Match: 'how old are you?'
    ReplaceString: ''
flushers:
  - Type: flusher_stdout
    OnlyStdout: true
  • 输出
{
    "__tag__:__path__": "/home/test_log/string_replace.log",
    "content": "hello, nice to meet you",
    "__time__": "1680353730"
}

示例 2:基本正则匹配与替换

采集/home/test-log/路径下的string_replace.log文件,测试日志内容的正则匹配与替换功能。

  • 输入
echo '2022-09-16 09:03:31.013 \u001b[32mINFO \u001b[0;39m \u001b[34m[TID: N/A]\u001b[0;39m [\u001b[35mThread-30\u001b[0;39m] \u001b[36mc.s.govern.polygonsync.job.BlockTask\u001b[0;39m : 区块采集------结束------\r' >> /home/test-log/string_replace.log
  • 采集配置
enable: true
inputs:
  - Type: input_file
    FilePaths: 
      - /home/test-log/*.log
processors:
  - Type: processor_string_replace
    SourceKey: content
    Method: regex
    Match: \\u\w+\[\d{1,3};*\d{1,3}m|N/A
    ReplaceString: ''
flushers:
  - Type: flusher_stdout
    OnlyStdout: true
  • 输出
{
    "__tag__:__path__": "/home/test_log/string_replace.log",
    "content": "2022-09-16 09:03:31.013 INFO  [TID: ] [Thread-30] c.s.govern.polygonsync.job.BlockTask : 区块采集------结束------\r",
    "__time__": "1680353730"
}

示例 3:根据正则分组匹配与替换并输出到新的字段

采集/home/test-log/路径下的string_replace.log文件,测试日志内容的正则分组匹配与替换功能。
注:分组替换ReplaceString中不能存在{},选择分组只能使用$1、$2 这种方式。

  • 输入
echo '10.10.239.16' >> /home/test-log/string_replace.log
  • 采集配置
enable: true
inputs:
  - Type: input_file
    FilePaths: 
      - /home/test-log/*.log
processors:
  - Type: processor_string_replace
    SourceKey: content
    Method: regex
    Match: (\d.*\.)\d+
    ReplaceString: $1*/24
    DestKey: new_ip
flushers:
  - Type: flusher_stdout
    OnlyStdout: true
  • 输出
{
    "__tag__:__path__": "/home/test_log/string_replace.log",
    "content": "10.10.239.16",
    "new_ip": "10.10.239.*/24",
    "__time__": "1680353730"
}

示例 4:替换转义字符

采集/home/test-log/路径下的string_replace.log文件,测试转义自付替换功能。

  • 输入
echo '{\\x22UNAME\\x22:\\x22\\x22,\\x22GID\\x22:\\x22\\x22,\\x22PAID\\x22:\\x22\\x22,\\x22UUID\\x22:\\x22\\x22,\\x22STARTTIME\\x22:\\x22\\x22,\\x22ENDTIME\\x22:\\x22\\x22,\\x22UID\\x22:\\x222154212790\\x22,\\x22page_num\\x22:1,\\x22page_size\\x22:10}' >> /home/test-log/string_replace.log
echo '\\u554a\\u554a\\u554a' >> /home/test-log/string_replace.log
  • 采集配置
enable: true
inputs:
  - Type: input_file
    FilePaths: 
      - /home/test-log/*.log
processors:
  - Type: processor_string_replace
    SourceKey: content
    Method: unquote
flushers:
  - Type: flusher_stdout
    OnlyStdout: true
  • 输出
{
    "__tag__:__path__": "/home/test_log/string_replace.log",
    "content": "{\"UNAME\":\"\",\"GID\":\"\",\"PAID\":\"\",\"UUID\":\"\",\"STARTTIME\":\"\",\"ENDTIME\":\"\",\"UID\":\"2154212790\",\"page_num\":1,\"page_size\":10}",
    "__time__": "1680353730"
}

{
    "__tag__:__path__": "/home/test_log/string_replace.log",
    "content": "啊啊啊",
    "__time__": "1680353730"
}

文章大纲