Вы правы, что вы можете применить один код c -опцию на вход. При этом, ничто не мешает вам определить несколько входных плагинов. Таким образом, вы можете указать один входной плагин для ваших однострочных файлов и другой для ваших многострочных файлов, например:
logsta sh .conf:
input {
file {
path => ["/LOGS/BBC/current_log.log"]
start_position => "beginning"
}
input {
file {
path => ["/LOGS/CSI/current_log.log"]
start_position => "beginning"
codec => "multiline"
}
filter{
...
}
output{
...
}
Имейте в виду, что если один из входных плагинов выходит из строя, весь конвейер блокируется. Таким образом, вы можете подумать о разделении конвейеров путем определения нескольких конвейеров. Взгляните на эту документацию о реализации нескольких конвейеров.