The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Squid log parser (perl)"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Squid log parser (perl)"
Сообщение от Garry emailИскать по авторуВ закладки on 28-Авг-02, 17:11  (MSK)
В общем пробую писать парсер на перле, под свои нужды и встретился с такой траблой: кто видел access.log, знает, что там бывают очень длинные строки, такая конструкция не рулит :(
($date, $unuse1, $ip_addr, $unuse2, $unuse3, $unuse4, $url_full, $unuse5, $unuse6, $unuse7) = split(/\s+/, $_);
В $ip_addr заносятся данные, которые вроде бы расположены на одной строке в самом конце, например - DIRECT/194.186.36.134
Как побороть энто?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Squid log parser (perl)"
Сообщение от Dawnshade emailИскать по авторуВ закладки on 28-Авг-02, 17:57  (MSK)
Не парься, возьми готовый - http://calamaris.cord.de/


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Squid log parser (perl)"
Сообщение от Garry emailИскать по авторуВ закладки on 29-Авг-02, 10:27  (MSK)
>Не парься, возьми готовый - http://calamaris.cord.de/

Блин я этих парсеров пересмотрел уже целую кучу! Мне вот этого не надо:
Calamaris parses the Squid Native Log and genereates reports
about Peak-usage, Request-Methods, Status-reports of incoming
and outgoing requests, second and Top-level destinations,
content-types and performance.

Мне надо дата, время, сайт - по определенному ip. Больше нахрен ничего не надо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Squid log parser (perl)"
Сообщение от MG emailИскать по авторуВ закладки on 29-Авг-02, 13:46  (MSK)
>В общем пробую писать парсер на перле, под свои нужды и встретился
>с такой траблой: кто видел access.log, знает, что там бывают очень
>длинные строки, такая конструкция не рулит :(
>($date, $unuse1, $ip_addr, $unuse2, $unuse3, $unuse4, $url_full, $unuse5, $unuse6, $unuse7) = split(/\s+/,
>$_);
>В $ip_addr заносятся данные, которые вроде бы расположены на одной строке в
>самом конце, например - DIRECT/194.186.36.134
>Как побороть энто?


А ты попробуй ...= split('\s+')
У меня работает

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Squid log parser (perl)"
Сообщение от McLoud Искать по авторуВ закладки on 29-Авг-02, 13:56  (MSK)
>В общем пробую писать парсер на перле, под свои нужды и встретился
>с такой траблой: кто видел access.log, знает, что там бывают очень
>длинные строки, такая конструкция не рулит :(
>($date, $unuse1, $ip_addr, $unuse2, $unuse3, $unuse4, $url_full, $unuse5, $unuse6, $unuse7) = split(/\s+/,
>$_);
>В $ip_addr заносятся данные, которые вроде бы расположены на одной строке в
>самом конце, например - DIRECT/194.186.36.134
>Как побороть энто?

Ну, для начала надо использовать "\s+" и плюс к этому время (первое значение в строке) нужно вырезать отдельно, т.к. если через сквид будет проходить файл большой длины и большим временем выполнения, то первые два значения в строке сольются в одно (сам на этом подловился :( мег 200 трафика пропустил пока доехало).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Squid log parser (perl)"
Сообщение от Garry emailИскать по авторуВ закладки on 29-Авг-02, 16:53  (MSK)
('s+') тоже не рулит. Все решилось проверкой массива на количество элементов.
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру