Log4j2 ручной разбор? - PullRequest
       38

Log4j2 ручной разбор?

0 голосов
/ 15 января 2020

Предположим, я использую регистратор, введенный через предоставляемую lombok аннотацию @ Log4j2 как таковую:

logger.info("Successfully stopped communication process");

С этим шаблоном регистрации в моем файле log4j2. xml:

[SERVICE] [%5p] [%d{yyyy-MM-dd HH:mm:ss.SSS}] %-40.40c{1.} : %m%n%ex

, который выводит этот вывод в консоли eclipse:

[SERVICE] [ INFO] [2020-01-14 19:38:27.184] c.m.m.c.c.CommunicationProcessController : Successfully stopped communication process

Есть ли способ для меня проанализировать "на лету" строку, которую я хотел бы отобразить на компоненте ListView, как будто мой Конфиг log4j2 бы это отображал? Другими словами, можете ли вы проанализировать запись в журнале, фактически не регистрируя ее, используя мощь построенной строки сконфигурированной среды Log4j2?

1 Ответ

0 голосов
/ 15 января 2020

Это классическая c проблема, которая решается такими вещами, как Splunk или стек ELK. То, что вы просите, является вариацией этого. Проблема может быть разбита на:

  1. Вам необходимо использовать приложение, которое записывает журналы в какую-то точку сбора. Это можно сделать, записав что-то вроде Logsta sh, Flume или Fluentd, которое пересылает журналы, или записав напрямую что-то вроде Kafka, Elasti c Search, в вашу базу данных или в какой-то общий кеш.
  2. В зависимости от резервного хранилища приложение UI должно получить из него события и отобразить их.

На самом деле слишком много вариантов, как это сделать. Все зависит от того, насколько простым, надежным и производительным вам нужно.

...