URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 10799
[ Назад ]

Исходное сообщение
"Тематический каталог: Фильтр для перевода в наглядный вид времени в логе squid (squid log filter time)"

Отправлено auto_topic , 16-Июн-05 13:09 
Обсуждение статьи тематического каталога: Фильтр для перевода в наглядный вид времени в логе squid (squid log filter time)

Ссылка на текст статьи: https://www.opennet.ru/base/net/squid_time_patch.txt.html


Содержание

Сообщения в этом обсуждении
"Фильтр для перевода в наглядный вид времени в логе squid (squid log filter time)"
Отправлено naquad , 16-Июн-05 13:09 
perl -MPOSIX -ne 'if(/^(\d+)\.(\d+)\s+/){print POSIX::strftime("[%H:%M:%S.$2-%d.%m.%Y]: ",localtime $1);s/^$1\.$2//;}print $_' < 40.txt > out
head -3 out
[20:46:13.397-18.05.2005]:       0 172.20.4.10 TCP_HIT/200 2478 GET http://img.yandex.ru/i/fp2_morda.js - NONE/- application/x-javascript
[20:46:13.889-18.05.2005]:     731 172.20.4.10 TCP_MISS/200 25050 GET http://yandex.ru/ - DIRECT/213.180.204.11 text/html
[20:46:58.601-18.05.2005]:       2 172.20.4.10 TCP_HIT/200 7725 GET http://css.yandex.ru/css/optim.css - NONE/- text/css

"Фильтр для перевода в наглядный вид времени в логе squid (sq..."
Отправлено Andrey Mitrofanov , 07-Мрт-13 18:43 
> perl -MPOSIX -ne 'if(/^(\d+)\.(\d+)\s+/){print POSIX::strftime("[%H:%M:%S.$2-%d.%m.%Y]: ",localtime $1);s/^$1\.$2//;}print $_' < 40.txt > out

С приветом из 2013-го! :))

# awk -F. -v OFS=. '{if($1!=p)t=strftime("%F_%T",p=$1);$1=t;print}' <33.txt
2013-03-07_18:40:29.717      0 127.0.0.1 TCP_DENIED/403 1649 GET http //www.opennet.ru/img/runnet.gif - NONE/- text/html
2013-03-07_18:40:29.718      0 127.0.0.1 TCP_DENIED/403 1641 GET http //www.opennet.ru/banner.gif - NONE/- text/html
2013-03-07_18:40:29.718      0 127.0.0.1 TCP_DENIED/403 1643 GET http //www.opennet.ru/adv_ibm.htm - NONE/- text/html


"Фильтр для перевода в наглядный вид времени в логе squid (squid log filter time)"
Отправлено naquad , 16-Июн-05 13:49 
Tщё пару замечаний:
1. *** glibc detected *** double free or corruption (!prev): 0x09ecf008 ***
Aborted - Аккуратней с памятью!
2. Это простая задача, которую я решал на сях лет 5 назад. Не имеет смысла писать это на С - больше геммора, как видите однострочник на perl'e всё решил.
3. sprintf(str,"%02d%02d%02d-%02d:%02d:%02d%c%s",           tma->tm_mday,tma->tm_mon+1,tma->tm_year-100,tma->tm_hour,tma->tm_min,tma->tm_sec,a,strIn+istrP);
    Шо це було? Чёрт с ними миллисекундами! strftime и вперед.
4. Строка 27: return(ret);
        fclose(f);
    Выходим из программы, а потом закрываем файл :) - круто.
5. Что за код возврата (-1) ?
6. Зачем эта консрукция:
       ret = Go(f);
        return(ret);
если функция Go(FILE* ff) в любом случае возвращает 0?
7. Если это первая программа, то не спорю, нормально: есть идея и реализация, она прихрамывает, но всё же.