我正在使用logstash很长一段时间。我尝试在File插件中使用自定义分隔符。我正在读一个静态文件。我看到文件插件提取32KB数据并将其传递给tokenizer,以便通过分隔符进行拆分。
data = watched_file.file_read(32768)
changed = true
watched_file.buffer_extract(data).each do |line|
listener.accept(line)
@sincedb[watched_file.inode] += (line.bytesize + @delimiter_byte_size)
end
当最后一个字节不是新行时(即:行的一部分)会发生什么。我的正则表达式在部分线上失败并跳过了。在这种情况下我输了一个事件。我在自定义分隔符上看到了这个,它也可以在\ n分隔符上发生。 请赐教。