我有几个应用程序生成txt和日志格式的日志,需要将所有信息发送到Kibana,我能够发送这些日志,但在一个事件中发送文件的每一行。我想在一个事件中发送所有日志行,例如应用程序日志格式:
16/09/2021 14:32:37 - [ INFO ] - Lendo arquivo de configuração
16/09/2021 14:32:38 - [ INFO ] - UID de Execução: d6649885-37f1-4f98-ba86-c23289fbad25
16/09/2021 14:32:41 - [ INFO ] - Iniciando extração de arquivo .RAR...
16/09/2021 14:32:42 - [ ERROR ] - Erro de execução: System.ArgumentException: File does not exist: C:\Users\07.903007\Desktop\Base 2\arquivo rar\BaseII_cbss_16092021.rar
at SharpCompress.Archives.AbstractArchive`2..ctor(ArchiveType type, FileInfo fileInfo, ReaderOptions readerOptions)
at SharpCompress.Archives.Rar.RarArchive..ctor(FileInfo fileInfo, ReaderOptions options)
at SharpCompress.Archives.Rar.RarArchive.Open(String filePath, ReaderOptions options)
at BaseII.Program.Main(String[] args) in C:\Users\07.903007\Desktop\teste\legacyautomation\BaseII\Program.cs:line 45
我想在一个事件中发送所有日志行,可以吗?
发布于 2021-10-14 11:41:15
您可以在filbeat.yml
配置中的filebeat.inputs
部分下指定multiline
选项。
示例配置:
multiline.type: pattern
multiline.pattern: '^\dd/dd/dddd'
multiline.negate: true
multiline.match: after
该设置确保Filebeat获取所有不以日期开头的行,并将它们与前面以日期开头的行组合在一起。
该模式只是一个正则表达式。
如果这是Java堆栈跟踪,您甚至可以使用此跟踪,它将查找空格字符:
multiline.type: pattern
multiline.pattern: '^[[:space:]]'
multiline.negate: false
multiline.match: after
https://stackoverflow.com/questions/69575791
复制