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

Исходное сообщение
"Логгирование"

Отправлено InfinityNsu , 17-Июл-09 02:43 
Пишу довольно крупный проект, он состоит из многих модулей. Встал вопрос, как нормально писать логи, стандартные средства syslog не пойдут. Проблема в том, что приложение состоит из частей, часть из которых сишные, часть - уже готовые программы, например, постфикс, и готовые программы, написанные другим разработчиком + до фига шелловых скриптов, связывающих все это в кучу. Модули работают параллельно, поэтому встает проблема аккуратной записи в файл. С сишными кусками все понятно, добавление в конец файла (когда опцию O_APPEND ставишь) атомарно. С шелловыми скриптами - подскажите, пожалуйста, как реализовано перенаправление в файл на добавление? Не возникнет ли проблемы с конструкцией вида echo "blabla" >> filename? Ну тут еще вариант написать свой бинарник на запихивание всего в лог, но хотелось бы не усложнять. И последний вопрос, про который у меня идей никаких нет вообще: как заставить сторонние проги писать туда же? Только патчи к ним писать или попроще как-то? Чисто теоретически, можно демона повесить, который при добавлении записи в лог составляющей проги пихает эту запись в главный лог, но извратно как-то... В общем, подскажите, пожалуйста, как это все можно реализовать.

Заранее спасибо!))


Содержание

Сообщения в этом обсуждении
"Логгирование"
Отправлено pavel_simple , 17-Июл-09 15:04 
> стандартные средства syslog не пойдут

а можно узнать почему?


"Логгирование"
Отправлено InfinityNsu , 17-Июл-09 17:44 
>> стандартные средства syslog не пойдут
>
>а можно узнать почему?

потому что заказчик требует, чтобы было все в отдельном файле. Если делать все через syslogd, то надо править syslog.conf, а любую правку системных конфигов хотелось бы избежать, кроме этого, я не вижу способа сделать это в скрипте так, чтобы работало универсально (это одно из требований). Так что выход вижу один - писать логгирование самостоятельно.

> Всё что не syslog - не нормально.

Это еще почему? Насколько мне известно, тот же апач тоже использует свою систему логгирования, не сислог.


"Логгирование"
Отправлено jd , 18-Июл-09 00:44 
>потому что заказчик требует, чтобы было все в отдельном файле. Если делать
>все через syslogd, то надо править syslog.conf, а любую правку системных
>конфигов хотелось бы избежать,

Конечно, придумывать свою собственную систему взамен стандартной - куда проще, чем подправить один конфиг.

> кроме этого, я не вижу способа сделать
>это в скрипте так, чтобы работало универсально (это одно из требований).

man logger


"Логгирование"
Отправлено svn , 18-Июл-09 13:55 
>Конечно, придумывать свою собственную систему взамен стандартной - куда проще, чем подправить
>один конфиг.

Обычно не надо даже править, а добавить файл в определённую директорию.


"Логгирование"
Отправлено svn , 17-Июл-09 15:05 
>как нормально писать логи, стандартные средства syslog не пойдут.

Всё что не syslog - не нормально.