|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Добрый день , есть файл логов с nginx в определенном формате : '$remote_addr [$request_time] $ssl_client_s_dn_cn [$msec] "$request" ' '$status $body_bytes_sent "$http_referer" ' '[$ssl_protocol $ssl_cipher] ' '"$ssl_client_v_start" "$ssl_client_v_end" "$ssl_client_v_remain" ' '"$ssl_session_id $ssl_session_reused" ' '"$http_user_agent" "$http_x_forwarded_for" "$http_method_type"'; есть пробелы между элементами, есть ковычки " , квадратные скобки . Как я понимаю = нужно по пробелам между частями шаблона смотреть , но в ковычках так же есть проблемы . Есть пример такой вот строки из логов. Как ее разложить по строкам? как в шаблоне ? получить из строки - набор строк - каждая будет соответствовать своей части шаблоне. Хочется применить к строке шаблон и чтобы она разложилась по нему :) пример строки 1 Код: java 1.
пример строки 2 Код: java 1.
конечный список должен содержать массив массивов ( 2 элемента в данном примере 2 строки) каждый массив это массив строки по шаблону : Код: css 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:13 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Atum1 Хочется применить к строке шаблон и чтобы она разложилась по нему :) Шаблон вордовский или чей? А где программирование? )))) Читай файл логов и сразу при чтении до пробела получил удаленный адрес. Его bilder добавил. Потом конец строки добавил. Лень? Стрим нужен? Или спринг? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 19:08 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Atum1 Хочется применить к строке шаблон и чтобы она разложилась по нему :) Шаблон вордовский или чей? А где программирование? )))) Читай файл логов и сразу при чтении до пробела получил удаленный адрес. Его bilder добавил. Потом конец строки добавил. Лень? Стрим нужен? Или спринг? Код: java 1.
я могу ее поделить на 19 элементов , по ковычкам, потом каждый парсить отдельно по пробелам и квадратным скобкам .. но это как то криво - должно быть готовое решение - на вход шаблон строки на выходе - массив элементов из строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 20:04 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
LogStash умеет парсить логи nginx. Можно посмотреть его профили. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 21:50 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Atum1, Split это Г.. решение а ля вижуал бейсик. Тебе нужно быстрое решение без переключения контекста. Это то что я сказал выше. Как головка HDD считывает файл. Прочитал до разделителя, скинул. Дальше читаешь опять до разделителя. Ты на этот вариант ноль комментов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 22:55 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Atum1, Split это Г.. решение а ля вижуал бейсик. Тебе нужно быстрое решение без переключения контекста. Это то что я сказал выше. Как головка HDD считывает файл. Прочитал до разделителя, скинул. Дальше читаешь опять до разделителя. Ты на этот вариант ноль комментов. код ., мне нужен код . ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 23:15 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 05:38 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
На стековере обсуждали https://stackoverflow.com/questions/10647920/tool-for-parsing-nginx-log https://stackoverflow.com/questions/1955505/parsing-json-with-unix-tools?rq=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 10:24 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Atum1 PetroNotC Sharp Atum1, Split это Г.. решение а ля вижуал бейсик. Тебе нужно быстрое решение без переключения контекста. Это то что я сказал выше. Как головка HDD считывает файл. Прочитал до разделителя, скинул. Дальше читаешь опять до разделителя. Ты на этот вариант ноль комментов. код ., мне нужен код . Не люблю ленивых. Мой выше алгоритм требует 10 мин написания. Главное ты его понял. И ты как ТС должен его тут НАЧАТЬ писать. Иначе лучше банить тут за такие топики. . split () Это все что ты можешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 10:30 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Atum1 Хочется применить к строке шаблон и чтобы она разложилась по нему :) Регулярку можно сделать, везде, где у тебя $something заменить на (.*) и сделать ленивый matсh. Потом последовательно все результаты вытащить. Но я хз как отработает регулярка, может и правда проще посимвольно читать строку, да сбрасывать кусками ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:39 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Тут-больше подходит Comma-Separated-Values(CSV) parser. Только вместо splitter надо поставить пробел. На выходе должна быть просто табличка полей. Заходно и quotas правильно обработаются. А в регулярке - ехануться можно... С квотами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 13:16 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
mayton Comma-Separated-Values(CSV) parser. как страшно звучит Код: java 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 13:43 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Тыже только начал? Допиши до конца. С корректной обработкой пробелов внутри квотированых полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 14:01 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
mayton, они не квотированные Код: java 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 14:26 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Видишь автор постит? Код: java 1.
Есть и квоты и пробелы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 14:35 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
mayton, говори по русски. Пробел это разделитель. Квота это что? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 14:38 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Atum1 Код: css 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
тут он всё без разбора херачит на строки ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 14:40 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, символ такой. Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 15:34 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
mayton, Ты видишь что он режет по пробелам а кавычки просто выкидывает? Я твой пост не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 15:37 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
А шаблон сообщения в самом верху топика - содержит переводы строк. Еще вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 16:06 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
mayton А шаблон сообщения в самом верху топика - содержит переводы строк. Еще вариант. Автор пример этого ещё не родил. Он сбежал походу искать аннотацию спринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 16:29 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton А шаблон сообщения в самом верху топика - содержит переводы строк. Еще вариант. Автор пример этого ещё не родил. Он сбежал походу искать аннотацию спринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 16:30 |
|
Парсинг логов на java по шаблону строки
|
|||
---|---|---|---|
#18+
Да он - бездельник. Всё сидит и выкуривает готовое решение. Вот для стека ELK - коробочное https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-nginx.html Пусть купит лицензии и не парится. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 16:47 |
|
|
start [/forum/topic.php?fid=59&msg=39960485&tid=2120800]: |
0ms |
get settings: |
27ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
458ms |
get tp. blocked users: |
1ms |
others: | 313ms |
total: | 907ms |
0 / 0 |