логи на диске не нравятся тем, что их нужно постоянно парсить - раз в минуту? нужно взрывать себе мозг, ведя мини-базу хэшей md5, чтобы определять, на какой строке лога мы остановились в прошлый раз/узнать, был ли он ротирован
в общем, гораздо логичнее(мне так кажется :) ) использовать событийный подход - получили запись в лог-обработали.
впрочем - раз уж с fifo такая проблема - возможно лучше использовать MFS? скажем, создать диск размером 200МБ и читать оттуда логи раз в минуту.?... однако это не решает проблемы избыточной сложности парсера
On Sat, Dec 22, 2007 at 03:17:56PM +0300, Артем Паньков wrote:
> почитал - например, в линукс fifo может быть неблокирующим - о ошибки не > будет.
Это не только в Линуксе. Ну и что делать, если процесс на том конце упал ?
> Игорь, но я так понимаю, что альтернатив этому способу нет и не будет? Тогда > что делать-надо же с логами работать как-то
А чем не устраивает запись в файл ?
> 22.12.07, Igor Sysoev <
is@xxxxxxxxxxxxx> написал(а): > > > > On Sat, Dec 22, 2007 at 01:29:47PM +0200, Alex Vorona wrote: > > > > > Igor Sysoev пишет: > > > >On Sat, Dec 22, 2007 at 01:38:45PM +0300, Артем Паньков wrote:
> > > > > > > > > > > >>Или, возможно, есть какой-то стандартный для unix способ подставить > > вместо > > > >>файла "вход" сторонней программы?
> > > >> > > > >mkfifo. > > > > > > > замечу также, что в случае отваливания сторонней программы от fifo nginx > > > заблокируется на записи лога и перестанет обрабатывать запросы.
> > > > Насколько я понимаю, в этом случае вернётся EPIPE. > > Тем не менее, я бы не рекомендовал подобное ведение лога. > > > > > > -- > > Игорь Сысоев > >
http://sysoev.ru > > > > > > > -- > С уважением, > Паньков Артем Владимирович. > ICQ: : 842264 > Мобильный: 89265652613