提前感谢您的帮助.
在我的场景中 - 需要将Cloudwatch多行日志发送到elasticsearch服务.ECS - awslog-> Cloudwatch ---使用lambda - > ES Domain (基本流程虽然非常开放,可以改变数据从CW传送到ES的方式)
我能够使用multi_line_start_pattern来解决多线问题但是我现在遇到的主要问题是 - 我的日志有ODL格式(格式如下)
[yyyy-mm-ddThh:mm:ss.SSS-Z][ProductName-Version][Log Level]
[Message ID][LoggerName][Key Value Pairs][[
Message]]
Run Code Online (Sandbox Code Playgroud)
我想在存储到ES(与完整的日志行)之前解析和标记日志事件. 例如:
[2018-05-31T11:08:49.148-0400] [glassfish 4.1] [INFO] [] [] [tid: _ThreadID=43 _ThreadName=Thread-8] [timeMillis: 1527692929148] [levelValue: 800] [[
[] INFO : (DummyApplicationFunctionJPADAO) EntityManagerFactory located under resource lookup name [null], resource name=AuthorizationPU]]
Run Code Online (Sandbox Code Playgroud)
需要使用格式进行解析和标记
timestamp 2018-05-31T11:08:49.148-0400
ProductName-Version glassfish 4.1
LogLevel INFO
MessageID
LoggerName
KeyValuePairs tid: _ThreadID=43 _ThreadName=Thread-8
Message [] INFO : (DummyApplicationFunctionJPADAO)
EntityManagerFactorylocated under resource lookup name
[null], resource name=AuthorizationPU
Run Code Online (Sandbox Code Playgroud)
在上面的Key …