多行切分

简介

processor_split_log_regex processor插件实现多行日志(例如Java程序日志)的采集。 备注:该插件必须设置为processor的第一个插件。

配置参数

样例

采集/home/test-log/路径下的multiline.log文件,并按行首正则进行多行切分。

  • 输入

echo -e  '[2022-03-03 18:00:00] xxx1\nyyyyy\nzzzzzz\n[2022-03-03 18:00:01] xxx2\nyyyyy\nzzzzzz' >> /home/test-log/multiline.log
  • 采集配置

enable: true
inputs:
  - Type: file_log
    LogPath: /home/test-log/
    FilePattern: multiline.log
processors:
  - Type: processor_split_log_regex
    SplitRegex: \[\d+-\d+-\d+\s\d+:\d+:\d+]\s.*
    SplitKey: content
    PreserveOthers: true
flushers:
  - Type: flusher_sls
    Endpoint: cn-xxx.log.aliyuncs.com
    ProjectName: test_project
    LogstoreName: test_logstore
  - Type: flusher_stdout
    OnlyStdout: true
  • 输出

{
    "__tag__:__path__": "/home/test-log/multiline.log",
    "content": "[2022-03-03 18:00:00] xxx1\nyyyyy\nzzzzzz\n",
    "__time__": "1657367638"
}
{
    "__tag__:__path__": "/home/test-log/multiline.log",
    "content": "[2022-03-03 18:00:01] xxx2\nyyyyy\nzzzzzz",
    "__time__": "1657367638"
}

Last updated