clojure-russia

Работа и релокейт: #jobs-rus | #clojure-russia-offtop Телеграм-чат https://t.me/clojure_ru
anjensan 2017-10-27T08:52:20.000359Z

@rustam.gilaztdinov а что из себя эти "логи" представляют?

anjensan 2017-10-27T09:20:53.000139Z

есть знание/понимание откуда они приходит и как формируются?

anjensan 2017-10-27T09:26:54.000290Z

предположу что это nginx

anjensan 2017-10-27T09:27:00.000224Z

и это его логи

rustam.gilaztdinov 2017-10-27T09:37:07.000002Z

да, все так, но я могу работать только с логами по факту то есть данные исторические и их надо отпроцессить

anjensan 2017-10-27T09:41:02.000097Z

просто в таком случае у nginx есть настройка как форматировать логи... и было бы полезно ее знать 😉

rustam.gilaztdinov 2017-10-27T09:42:12.000060Z

я немного по другую сторону баррикад — занимаюсь аналитикой, поэтому на данном этапе ничего поделать с этим не могу

anjensan 2017-10-27T09:44:58.000281Z

а стоп. это походу вообще raw-запросы...

rustam.gilaztdinov 2017-10-27T09:47:46.000127Z

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

anjensan 2017-10-27T09:52:16.000466Z

еще как меняет

anjensan 2017-10-27T09:52:36.000363Z

если есть raw-запрос... значит оно стандартизированно и существет 100500 готовых парсеров

anjensan 2017-10-27T09:53:23.000079Z

http://lmgtfy.com/?q=parse+raw+http+request

rustam.gilaztdinov 2017-10-27T09:53:26.000075Z

а можно хотя бы один?)

rustam.gilaztdinov 2017-10-27T09:54:05.000146Z

да уж, в гугл отправили, спасибо

anjensan 2017-10-27T09:55:54.000005Z

ну блиин...

anjensan 2017-10-27T09:58:26.000227Z

если это аналитики точность не нужна - как уже говоирли регулярками

anjensan 2017-10-27T09:58:48.000263Z

одной вырезать префикс, в нем урл, метод и HTTP/xxx (аля маркер)

igrishaev 2017-10-27T09:59:05.000088Z

python http parser первая ссылка

anjensan 2017-10-27T09:59:11.000128Z

второй вырезать список вида "BlaBla: something is here"

anjensan 2017-10-27T09:59:42.000182Z

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

anjensan 2017-10-27T09:59:55.000029Z

X: A Y: B - это 1 или 2 хидера

anjensan 2017-10-27T10:00:59.000005Z

ибо, насколько я помню. : никак в хидере не экранируется

anjensan 2017-10-27T10:07:56.000288Z

в общем если так (похерились \r\n) - тогда регулярочками. если нет - любой готовый парсер или релугярочками

ilevd 2017-10-27T10:45:06.000284Z

@rustam.gilaztdinov покажи пример лога)

ilevd 2017-10-27T10:54:47.000064Z

На clojars есть https://clojars.org/org.clojars.mylesmegyesi/http-request-parser

ilevd 2017-10-27T11:05:40.000122Z

В серверах можно что-нибудь поискать и подергать)

ilevd 2017-10-27T11:11:58.000077Z

Можно еще попробовать js библиотеку запустить в nashorn

misha 2017-10-27T13:38:59.000507Z

@roman01la весело, вижу, было :kappa:

misha 2017-10-27T14:03:22.000438Z

я что-то пропустил, или ты так и не привел ниодного конкретного примера запроса? @rustam.gilaztdinov

misha 2017-10-27T14:03:52.000458Z

что б хоть на глаз прикинуть чем попарсить было бы проще

rustam.gilaztdinov 2017-10-27T14:05:13.000368Z

пропустил) судя по тому, что меня отправляют в гугол, я туповат, поэтому буду бодаться сам

misha 2017-10-27T14:06:45.000514Z

а дай-ка ссылочку на сообщение или на гист

misha 2017-10-27T14:07:26.000332Z

или ты показал/удалил?

rustam.gilaztdinov 2017-10-27T14:08:24.000771Z

да, как-то потроха логов не хочу сильно светить. надеюсь, логгер этого слака не успел сдампить

misha 2017-10-27T14:09:26.000109Z

ща гляну :opieop:

rustam.gilaztdinov 2017-10-27T14:09:55.000138Z

:harold:

misha 2017-10-27T14:10:23.000512Z

2017-10-21 - самое свежее

rustam.gilaztdinov 2017-10-27T14:10:42.000205Z

да, тоже посмотрел)

fmnoise 2017-10-27T19:58:49.000217Z

да, ништяк, поговорили почему стоит писать на кложуре