Найти тему
10 подписчиков

В ответ на пост


А код преобразовывалки довольно ничего такой получается, даже читать можно.

Я говорю взять разницу у logLinesCollection с момента как PARSED_LINES_LOG_LINES_READER_NAME видел эту коллекцию прошлый раз. Затем стартую новое поколение в parsedLinesCollection с последним поколением logLinesCollection, если есть какое-то начатое поколение, но оно младше — выбрось его (если вдруг у меня параллельно работает другой такой скрипт, то при попытке вставок ему исключение вернётся; ну или если этот сломался в прошлый раз при обработке).

Прохожу по диффам, исходные строки у меня хранятся в ключах logLinesCollection, пытаюсь их попарсить, если успешно, то делаю ключ попроще (у меня есть гарантии того, что пара «время + корневое имя логгера» уникальны), в значение записываю то что напарсил.

Под конец коммитаю это поколение, что при вызове этого кода следующий раз будет обрабатывать только появившиеся сущности. Красота, теперь попробуем чего-нибудь более сложное :)

#diffbelt
В ответ на пост А код преобразовывалки довольно ничего такой получается, даже читать можно.
Около минуты