Конфигурация Logstash для изменения трассировки стека исключений - PullRequest
0 голосов
/ 10 июля 2019

Мое приложение отправляет события журнала в logstash с помощью приложения-сокета log4j2 и JsonLayout. В kibana я хочу показать все другие свойства в формате json, кроме stacktrace.

log4j2.xml configuration
    <Socket host="localhost" name="mySocketAppender" port="9955">
     <JsonLayout compact="true" eventEol="true" includeStacktrace="true" properties="true
    </Socket>

logstash.config

input { 
  tcp {
    port => 9955
    codec => json
  } 
}
filter {
 date {
       match => [ "timeMillis", "UNIX_MS" ]
      }
 }
output {
   elasticsearch { hosts => ["localhost:9200"]}
}

Я ожидаю вывод как

Caused by: java.lang.NullPointerException
 at java.net.URLEncoder.encode(URLEncoder.java:204) ~[?:1.8.0_151]
 at com.mytestClass.service.test.generateURL(test.java:1922) ~[abc-xyz.jar:?]
 at com.mytestClass.service.test.publishURLToUsers(test.java:1847) ~[abc-xyz.jar:?]
 at com.mytestClass.service.test..publishURL(test.java:1809) ~[abc-xyz.jar:?]

но Kibana показывает вывод для трассировки стека как:

thrown.cause.extendedStackTrace   {
                                   "exact": false,
                                   "location": "?",
                                   "class": "java.net.URLEncoder",
                                   "file": "URLEncoder.java",
                                   "version": "1.8.0_151",
                                   "method": "encode",
                                   "line": 204
                                  },
                                  {
                                   "exact": false,
                                   "location": "abc-xyz.jar",
                                   "class": "com.mytestClass.service.test",
                                   "file": "test.java",
                                   "version": "?",
                                   "method": "generateURL",
                                   "line": 1922
                                   },
                                   {
                                   "exact": false,
                                   "location": "abc-xyz.jar",
                                   "class": "com.mytestClass.service.test",
                                   "file": "test.java",
                                   "version": "?",
                                   "method": "publishURLToUsers",
                                   "line": 1847
                                   },
                                   {
                                    "exact": false,
                                    "location": "abc-xyz.jar",
                                    "class": "com.mytestClass.service.test",
                                    "file": "test.java",
                                    "version": "?",
                                    "method": "publishURL",
                                    "line": 1809
                                    }

Какие изменения следует внести в конфигурацию logstash, чтобы все остальные свойства в событии журнала отображались в формате json, но не в стеке трассировки исключений.

...