Всем привет! Подскажите, у меня есть массив хттп-логов, чем бы мне их пропарсить?
То есть я конечно знаю про clj-http
и http-kit
, но они же умеют только с запросами по факту их получения работать, а у меня тупо строками лежат.
А какая связь между парсингом неких логов и хттп клиентом/сервером?
тем, что запросы я могу на лету обрабатывать
а мои лежат в файлике
обычными строковыми операциями: разбиением, регулярками и тд
то есть готового ничего нет?)
это уже много
ELK есть, logstash имеешь толи ридеры, толи еще что-то которые уже настроены под стандартные логи
поднимаешь, запускаешь, смотришь в графики
и все это бесплатно 🙂
@rustam.gilaztdinov Можно взять и вызвать какие-нибудь потроха из Tomcat, но там ужасно императивно-объектный API
@rustam.gilaztdinov если брать из файла построчно и обрабатывать, то получится почти как на лету 🙂
но если серьезно, то что хочешь получить-то на самом деле?
@maxp Набор карт с запросами, конечно.
Да фиг пойми что надо человеку с такими странными формулировками.
@rustam.gilaztdinov Мегаидея: открываешь файл, сокет, и пишешь файл в сокет 😄
А с другой стороны сокета - хоть clj-http
, хоть http-kit
.
ну и тут тролли и накинулись...
А что поделать, если джавовые библиотеки такие негибкие?
В принципе, из HTTP-парсера в Tomcat можно вытянуть нужные данные и отформатировать карту запроса, но кода получится достаточно много.
Или из Netty можно вызвать HttpObjectDecoder
, но на выходе опять будет дерево объектов, на этот раз netty
-овое.
регуляркой проще кмк
Теперь у тебя две проблемы 😄
@rustam.gilaztdinov а в каком виде логи? можешь пример кинуть?
да ладно) регулярок бояться - на перле не писать)
Такая вырвиглазная штука
Ну и писать на это регулярки так себе затея
ну и хочется каким-то хттп(?) парсером вот это все привести в удобоваримый вид достать хочу разного из этого
жуть какая) регулярка точно не варик))
так а зачем на лету это делать?
как то так будет приятней
@rustam.gilaztdinov Мне джависты посоветовали дёрнуть HttpRequestParser из apache httpcomponents.
А для cljs можно взять нгинксовый http-parser, у него есть nodejs-биндинг
Спасибо, посмотрю
Движуха в Киеве