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

Исходное сообщение
"CGI #!/bin/bash обработка логов"

Отправлено sunsun , 27-Июн-11 12:55 
Есть выборка логов с разных файлов, как можно реализовать что бы при выводе в браузер строчки логов из разных файлов подсвечивались различными цветами, через цикл можно ли это реализовать?

Тоесть выводится много текста в браузер, и как то закрутить, что если в строчке 3 по счету слово = log то эта строчка должна быть крассной...

/var/www/sait/log:Jun 19 11:30:06 homes update.pl[22660]: /var/drweb/bases/drw50016.vdb - drw50016.vdb with such CRC32 already exists, downloading has been skipped
/var/www/sait/messages:Jun 19 11:30:06 homes update.pl[22660]: /var/drweb/bases/drw50016.vdb - drw50016.vdb with such CRC32 already exists, downloading has been skipped

ОС RED HAT


Содержание

Сообщения в этом обсуждении
"CGI #!/bin/bash обработка логов"
Отправлено DeadLoco , 27-Июн-11 14:07 
> через цикл можно ли это реализовать?

Можно.

Вызываете скрипт, который лезет в логи и читает их построчно. Сначала, как положено, выводит хттп-хедеры, пустую строку, а затем начинает в цикле валить хтмл. Если считанная из лога строка содержит регексп №1 - значит строке класс С1, если регексп №2 - класс С2. И так далее.


"CGI #!/bin/bash обработка логов"
Отправлено dogonthesun , 27-Июн-11 14:47 
>[оверквотинг удален]
> выводе в браузер строчки логов из разных файлов подсвечивались различными цветами,
> через цикл можно ли это реализовать?
> Тоесть выводится много текста в браузер, и как то закрутить, что если
> в строчке 3 по счету слово = log то эта строчка
> должна быть крассной...
> /var/www/sait/log:Jun 19 11:30:06 homes update.pl[22660]: /var/drweb/bases/drw50016.vdb
> - drw50016.vdb with such CRC32 already exists, downloading has been skipped
> /var/www/sait/messages:Jun 19 11:30:06 homes update.pl[22660]: /var/drweb/bases/drw50016.vdb
> - drw50016.vdb with such CRC32 already exists, downloading has been skipped
> ОС RED HAT

while read line; do
    echo '<span'
    echo $line | grep '/log' > /dev/null && echo ' class="red"'
    echo $line | grep '/messages' > /dev/null && echo ' class="green"'
    echo ">$line</span>"
done

что-то в этом духе...


"CGI #!/bin/bash обработка логов"
Отправлено sunsun , 28-Июн-11 06:00 
>[оверквотинг удален]
>> ОС RED HAT
> while read line; do
>     echo '<span'
>     echo $line | grep '/log' > /dev/null &&
> echo ' class="red"'
>     echo $line | grep '/messages' > /dev/null &&
> echo ' class="green"'
>     echo ">$line</span>"
> done
> что-то в этом духе...

while read использовал спасибо большое :) все работает ))