tencent cloud

日志服务

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
地域和访问域名
规格与限制
基本概念
购买指南
计费概述
产品定价
按量计费(后付费)
欠费说明
清理日志服务资源
成本优化
常见问题
快速入门
一分钟入门指南
入门指南
使用 Demo 日志快速体验 CLS
操作指南
资源管理
权限管理
日志采集
指标采集
日志存储
指标存储
检索分析(日志主题)
检索分析(指标主题)
仪表盘
数据处理
投递与消费
监控告警
云产品中心
DataSight 独立控制台
历史文档
实践教程
日志采集
检索分析
仪表盘
监控告警
投递和消费
成本优化
开发者指南
通过 iframe 内嵌 CLS(旧方案)
通过 Grafana 使用 CLS
API 文档
History
Introduction
API Category
Making API Requests
Topic Management APIs
Log Set Management APIs
Index APIs
Topic Partition APIs
Machine Group APIs
Collection Configuration APIs
Log APIs
Metric APIs
Alarm Policy APIs
Data Processing APIs
Kafka Protocol Consumption APIs
CKafka Shipping Task APIs
Kafka Data Subscription APIs
COS Shipping Task APIs
SCF Delivery Task APIs
Scheduled SQL Analysis APIs
COS Data Import Task APIs
Data Types
Error Codes
常见问题
健康监测问题解释
采集相关
检索分析相关
其他问题
服务等级协议
CLS 政策
隐私协议
数据处理和安全协议
联系我们
词汇表
文档日志服务操作指南日志采集采集文本日志使用多行全文提取模式采集日志

使用多行全文提取模式采集日志

PDF
聚焦模式
字号
最后更新时间: 2026-01-07 15:23:16

操作场景

多行全文日志是指一条完整的日志数据跨占多行(例如 Java 程序日志)。在这种情况下,以换行符\\n为日志的结束标识符就显得有些不合理,为了能让日志系统明确区分开每条日志,采用首行正则的方式进行匹配,当某行日志匹配上预先设置的正则表达式,就认为是一条日志的开头,而下一个行首出现时,作为该条日志的结束标识符。
使用多行全文提取模式采集日志也会设置一个默认的键值__CONTENT__用于存放多行日志,且日志数据本身不进行日志结构化处理,也不会提取日志字段,日志属性的时间项由日志采集的时间决定。本文为您介绍如何使用多行全文提取模式采集日志。

前提条件

目标文件所在服务器已安装 LogListener。详情请参见:
LogListener Linux 版本为2.1.1及以上 或 LogListener Windows 版本为2.9.7及以上。

效果预览

假设您的一条多行日志原始数据为:
2019-12-15 17:13:06,043 [main] ERROR com.test.logging.FooFactory:
java.lang.NullPointerException
at com.test.logging.FooFactory.createFoo(FooFactory.java:15)
at com.test.logging.FooFactoryTest.test(FooFactoryTest.java:11)
该条日志最终被日志服务结构化处理为:
__CONTENT__:2019-12-15 17:13:06,043 [main] ERROR com.test.logging.FooFactory:\\njava.lang.NullPointerException\\n at com.test.logging.FooFactory.createFoo(FooFactory.java:15)\\n at com.test.logging.FooFactoryTest.test(FooFactoryTest.java:11)

操作步骤

步骤1:创建/选择日志主题

创建新的日志主题
使用现有的日志主题
如果您想选择新的日志主题,可执行如下操作:
2. 在左侧导航栏中,选择概览,进入概览页面。
3. 在快速接入中,选择服务器及应用,并单击多行全文-文件日志,进入采集配置流程。

4. 在采集配置流程的创建日志主题页面,根据实际需求,输入日志主题名称,配置日志保存时间等信息,单击下一步



如果您想选择现有的日志主题,可执行如下操作:
2. 在左侧导航栏中,选择日志主题,然后选择需要投递的目标日志主题,单击日志主题名称,进入日志主题管理页面。
3. 选择采集配置页签,在 LogListener 采集配置栏下单击新增,进入日志数据源选择。

4. 在日志数据源选择页面中,选择服务器及应用,找到并单击多行全文-文件日志,进入采集配置流程。


步骤2:机器组管理

若您需要采集的目标服务器未安装 LogListener,可参见:
在机器组管理界面,您可以选择使用已有机器组,也可以创建机器组:
创建新的机器组
选择已有的机器组
如果您想创建新的机器组,可执行如下操作:
1. 单击新建机器组

2. 填写机器组名称,通过机器标识的方式关联已安装 LogListener 的目标服务器。详情请参见 机器组,然后单击确定

3. 完成创建后,在 Tab 选项中选择您创建的机器组的系统环境,在列表中勾选您的目标机器组,并单击下一步

如果您想选择已有的机器组,可在 Tab 选项中选择您创建的机器组的系统环境,在列表中勾选您的目标机器组,并单击下一步


步骤3:采集配置

配置日志文件采集路径




采集配置页面,填写采集规则名称,并根据日志采集路径格式填写“采集路径”。日志采集路径格式参考如下:
注意:
Linux 日志路径必须以/开头。 Windows 文件路径必须以盘符开头,如C:\\
Linux 系统中的日志路径:/[目录前缀表达式]/**/[文件名表达式],例如:/data/log/**/*.log
Windows 系统中的日志路径:[盘符]:\\[目录前缀表达式]\\**\\[文件名表达式],例如:C:\\Program Files\\Tencent\\...\\*.log
填写日志采集路径后,LogListener 会按照[目录前缀表达式]匹配所有符合规则的公共前缀路径,并监听这些目录(包含子层目录)下所有符合[文件名表达式]规则的日志文件。其参数详细说明如下:
字段
说明
目录前缀
日志文件前缀目录结构,仅支持通配符 * 和 ?
* 表示匹配多个任意字符
? 表示匹配单个任意字符
不支持填写逗号
**
表示当前目录以及所有子目录
文件名
日志文件名,仅支持通配符 * 和 ?
* 表示匹配多个任意字符
? 表示匹配单个任意字符
不支持填写逗号
常用的配置模式如下:
[公共目录前缀]/**/[公共文件名前缀]*
[公共目录前缀]/**/*[公共文件名后缀]
[公共目录前缀]/**/[公共文件名前缀]*[公共文件名后缀]
[公共目录前缀]/**/*[公共字符串]*
填写示例如下:
序号
目录前缀表达式
文件名表达式
说明
1
/var/log/nginx
access.log
此例中,日志路径配置为 /var/log/nginx/**/access.log,LogListener 将会监听 /var/log/nginx 前缀路径下所有子目录中以 access.log 命名的日志文件
2
/var/log/nginx
*.log
此例中,日志路径配置为 /var/log/nginx/**/*.log,LogListener 将会监听 /var/log/nginx 前缀路径下所有子目录中以 .log 结尾的日志文件
3
/var/log/nginx
error*
此例中,日志路径配置为 /var/log/nginx/**/error*,LogListener 将会监听 /var/log/nginx 前缀路径下所有子目录中以 error 开头命名的日志文件
注意:
Windows 系统环境暂不支持软链采集。
LogListener 2.3.9及以上版本才可以添加多个采集路径。
建议配置采集路径为 log/*.log,rename 日志轮转后的老文件命名为 log/*.log.xxxx
默认情况下,一个日志文件只能被一个日志主题采集。如果一个文件需要对应多个采集配置,且文件所在系统环境为 Linux,请给源文件添加一个软链接,并将其加到另一组采集配置中。

配置采集路径黑名单

开启采集路径黑名单,可在采集时忽略指定的目录前缀或完整的文件路径。目录路径和文件路径可以是完全匹配,也支持通配符模式匹配。



采集黑名单分为两类过滤类型,且可以同时使用:
文件路径:采集路径下,需要忽略采集的完整文件路径,支持通配符*或?,支持**路径模糊匹配。
目录路径:采集路径下,需要忽略采集的目录前缀,支持通配符*或?,支持**路径模糊匹配。
注意:
需要 LogListener 2.3.9及以上版本。
采集黑名单是在采集路径下进行排除,因此无论是文件路径模式,还是目录路径模式,其指定路径要求为采集路径的子集。

配置采集策略

全量采集:LogListener 采集文件时,从文件的开头开始读。
增量采集:LogListener 采集文件时,只采集文件内新增的内容。

配置回溯采集


当采集策略选择为增量采集时,您可以进一步在此设置回溯采集的起始点,指定 LogListener 启动时是否从最新位置往前偏移指定字节数开始采集。
注意:
Windows 系统环境暂不支持。

编码模式

UTF-8:若您的日志文件编码模式为 UTF-8,请选择该选项。
GBK:若您的日志文件编码模式为 GBK,请选择该选项。

配置多行全文格式

1. 在“采集配置”页面,将“提取模式”设置为多行全文。如下图所示:

2. 根据如下规则,定义正则表达式。 您可选择自动生成或者手动输入两种方式定义首行正则表达式,系统会根据样例内容进行正则表达式的验证。
自动生成
手动输入
在文本框中,输入日志样例,单击自动生成,系统自动在置灰的文本框中生成行首正则表达式。如下图所示:

在文本框中,输入日志样例,输入首行正则表达式,单击验证,系统将判断表达式是否通过。如下图所示:


配置自定义元数据

注意:
仅 LogListener 2.8.7及以上版本支持配置自定义元数据。
您可配置自定义元数据,可以用来区分日志。当前支持以下几种元数据配置。详情请参见 自定义元数据
机器组元数据:使用机器组元数据
采集路径:通过正则提取采集路径中的值作为元数据
自定义:自定义键值作为元数据

配置过滤器条件

过滤器的目的是根据业务需要添加日志采集过滤规则,以帮助您筛选出有价值的日志数据。
多行全文模式下,默认使用__CONTENT__作为全文的键(key)名,并支持以下过滤规则:
等于:仅采集指定字段值匹配指定字符的日志。 支持完全匹配,或正则匹配。
不等于:仅采集指定字段值不匹配指定字符的日志。支持完全匹配,或正则匹配。
例如,多行全文日志样例格式为:
10.20.20.10 - - [Tue Jan 22 14:24:03 CST 2019 +0800] GET /online/sample HTTP/1.1 127.0.0.1 200 628 35 http://127.0.0.1/group/1
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0 0.310 0.310
您希望采集10.20.20.10这台机器的所有日志,则 key 处填写 __CONTENT__,过滤规则选择等于,value 处填写 10.20.20.10.*
注意:
Windows 系统环境暂不支持。
过滤规则 “不等于”、“字段存在”以及“字段不存在” 仅在 LogListener 2.9.3及以上版本支持。
多条过滤条件之间关系是"与"逻辑,若同一 key 名配置多条过滤条件,规则会被覆盖。

配置上传解析失败日志

建议开启上传解析失败日志。开启后,LogListener 会上传各种解析失败的日志。若关闭上传解析失败日志,则会丢弃失败的日志。


开启后需要配置解析失败的 Key 值(默认为 LogParseFailure),所有解析失败的日志,均以输入内容作为键名称(Key),原始日志内容作为值(Value)进行上传。

高级配置

注意:
Windows 系统环境暂不支持。
通过勾选,选择您需要定义的高级配置:



多行全文提取模式下,支持配置以下高级配置:
名称
描述
配置项
超时属性
该配置控制日志文件的超时时间。如果一个日志文件在指定时间内没有任何更新,则为超时。超时的日志文件 LogListener 将不再采集。当您的日志文件数量较大时,建议降低超时时间,避免 LogListener 性能浪费。
不超时:日志文件永不超时
自定义:自定义日志文件的超时时间
最大目录深度
该配置控制日志采集的最大目录深度。LogListener 不会采集所在目录层级超过指定最大目录深度的日志文件。当您目标采集路径包含模糊匹配时,建议配置合适的最大目录深度,避免 LogListener 性能浪费。
大于0的整数。0代表不进行子目录的下钻
合并解析失败日志
注意:
LogListener 2.8.8及以上版本才可以配置合并解析失败日志。
该配置支持在采集时将目标日志文件中连续解析失败的日志合并为一条日志上传。 若您的首行正则表达式无法覆盖所有的多行日志, 建议开启该配置,避免因首行匹配失败的单条多行日志被拆分至多条日志。
开启/关闭

数据加工

如您需要对采集到的 CLS 日志进一步处理,如结构化、脱敏、过滤,然后再写入日志主题,您可单击采集配置页面下方的数据加工,添加数据加工,最后 配置索引

说明:
数据加工相关操作请参见 创建加工任务 文档中【前置数据加工】TAB 页面。
数据加工脚本的编写请参见 数据加工函数总览,或者 加工实战案例
数据加工会产生费用,详情请参见 计费概述

步骤4:索引配置

1. 单击下一步,进入索引配置页面。
2. 在“索引配置”页面,设置如下信息。配置详情请参见 索引配置

注意
检索必须开启索引配置,否则无法检索。
3. 单击提交,进入编辑索引配置确认页面。
如果您设置的索引配置仅需对新写入的日志生效,单击确定。如果您想要该配置对历史数据生效,单击确定后,详情请参见 重建索引,做进一步设置。
4. 操作成功,完成采集配置。

相关操作

检索日志,请参见 检索分析 文档。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈