Назад | Перейти на главную страницу

запись системного журнала в общий, а не в конкретный файл

Я использую Ubuntu и Postgresql 9.

Я включил postgresql для входа в системный журнал и добавил в файл конфигурации следующую директиву:

 syslog_facility = 'local0'". 

Я попытался настроить системный журнал для записи их в отдельный файл, но это поле. Я обновил /etc/syslog.conf, чтобы он содержал (см. Последнюю строку для директивы postgresql)

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log
mail.info                       -/var/log/mail.info
mail.warn                       -/var/log/mail.warn
mail.err                        /var/log/mail.err
news.crit                       /var/log/news/news.crit
news.err                        /var/log/news/news.err
news.notice                     -/var/log/news/news.notice
*.=debug;\
        auth,authpriv.none;\
        news.none;mail.none     -/var/log/debug
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none          -/var/log/messages
*.emerg                         *
daemon.*;mail.*;\
        news.err;\
        *.=debug;*.=info;\
        *.=notice;*.=warn       |/dev/xconsole
local0.*                -/var/log/pgsql

Я перезапустил системный журнал с помощью «/etc/init.d/sysklogd restart» и «перезапустить rsyslog».

Когда postgresql перезагружается, сообщения добавляются в / var / log / messages и / var / log / syslog ... а не в нужный файл, поскольку я настроил syslog для использования ...

То же самое отлично работает на другой машине Debian с той же версией Postgresql ...

Любые идеи?

Мне кажется, что у вас есть опечатка в postgresql.conf файл. Убедитесь, что вы действительно используете

syslog_facility = 'local0'

Кроме того, старый syslogd требовал, чтобы в вашем файле конфигурации использовались жесткие вкладки вместо пробелов, поэтому убедитесь, что вы на самом деле не используете пробелы или что ваш редактор не конвертирует вкладки в пробелы (например, опция expandtab в vim) .

Вы также упомянули старые syslogd и rsyslog, поэтому проверьте, какой именно вы используете. Конфигурационный файл Rsyslog был разработан для обратной совместимости с syslogd, но делает используйте другой файл. Поэтому, если вы используете rsylog, добавьте свою строку журнала в /etc/rsyslog.conf вместо.

Чтобы эти сообщения не появлялись в /var/log/messages вам необходимо явно отфильтровать это средство. Для этого измените конфигурацию сообщений на это:

*.=info;*.=notice;*.=warn;\
    auth,authpriv.none;\
    cron,daemon.none;\
    mail,news.none;\
    local0.none          -/var/log/messages

Это означает: «Не записывайте в этот файл какие-либо уровни серьезности из средства local0». Или, по сути, исключить что-нибудь local0.*.