Logspout multiline Не работает должным образом - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь включить logspout в мою среду, поскольку я использую следующие настройки в моем файле компоновки Docker.

logspout:
  image: gliderlabs/logspout:v3.2.6
  environment:
    SYSLOG_FORMAT: rfc3164
    MULTILINE_MATCH: last
    DEBUG: 1
  command: 'multiline+syslog://logstash:5020?filter.name=core-server'
  volumes:
    - '/var/run/docker.sock:/tmp/docker.sock'
  networks:
   - elk
  depends_on:
    - logstash

Из моего Java-приложения я пытаюсь войти под данными, используя регистратор

Class MyClass{
  private void myFunc(){
    LOG.info("\n one \n two \n three \n");
  }
}

В моем отладчике я вижу журналы ниже

2018-11-26 13:45:42 [xyz] INFO 
            MyClass::myFunc: 
one
two
three

, когда я иду на консоль хранения журналов, вместо одного сообщения журнала, это сообщение разбивается на два сообщения,

1. <14>2018-11-26T13:45:42Z ip-x-y-w-z core-server[100]: 2018-11-26 
13:45:42 [xyz] INFO\n\t\t\t\tMyClass::myFunc:\n
2. <14>2018-11-26T13:45:42Z ip-x-y-w-z core-server[100]: one \n two \n 
three \n 

Вместо вышеупомянутого я ожидаю получить следующее сообщение о logstash

1. <14>2018-11-26T13:45:42Z ip-x-y-w-z core-server[100]: 2018-11-26 
13:45:42 [xyz] INFO\n\t\t\t\tMyClass::myFunc:\n one \n two \n three \n 

Я использовал многострочный адаптер logspout, чтобы мое многострочное сообщение передавалось в logstash как есть, а не как мое сообщение.получает разрыв после второго "\ n".

То, что я хочу, чтобы мое полное сообщение передавалось в logstash без прерывания на символ новой строки.

...