On Fri, 28 Aug 2009 14:51:55 +0400 Alexey Pechnikov <pechnikov@mobigroup.ru> wrote: > Hello! > > On Friday 28 August 2009 14:07:02 Alexander Galanin wrote: > > rsyslog, к примеру (никто ведь не заставляет использовать только одну из > > многочисленных инкарнаций syslogd), умеет составлять имя файла из > > полей сообщения. Вот неизменённый кусок из документации, который, я > > надеюсь, ты осилишь допилить до нужного тебе: > > > > $template DynFile,"/var/log/%HOSTNAME%/%programname%.log" > > Этот процесс клонируется сколько-то раз (в том числе, каждый > разработчик может для себя один или более экземпляров запустить), при этом > меняется число NNN. Каждый процесс посылает сообщения разного уровня в > сислог (ошибки, информация, предупреждения, плюс еще нужно разделить > сообщения по имени модуля регекспами). Логи должны писаться с правами > пользователя, который запустил клон и желательно в ~/log/.... Положим, > NNN можно передать в самих сообщениях, rsyslog в этом случае логи разделит. > Но пользователя получить не удастся, такая информация в syslog не передается. А ты передай. Рядом с NNN. > И как изменить права на эти лог-файлы? man chmod > Есть ли какая-то утилита, которая > умеет с stdout брать лог и пересылать в syslog - чтобы объединять сообщения > в единый лог-файл? Наверно я открою тебе великую тайну, но можно сделать ещё и $command >logfile 2>errlogfile причём безо всяких проходов через syslog. И потом останавливать этот так называемый сервис в том же xterm-е, в котором ты его запустил, с помощью Ctrl-C. А уж если тебе понадобится форвардить stdout и stderr в syslog, написать малюсенькую утилиту в 10 строк на си сможет кто угодно, у кого команда "man 3 syslog" не вызывает священного ужаса. -- Alexander Galanin http://galanin.nnov.ru
Attachment:
pgpDnzMUWDx_Q.pgp
Description: PGP signature