3.12. Использование syslog

Все приложения DataparkSearch по-умолчанию используют syslog для протоколирования своих действий, ошибок и прочих сообщений. indexer поддерживает несколько уровней подробности выдачи сообщений, которые могут быть заданы поцией -v или командой LogLevel в файле конфигурации:

Таблица 3-1. уровни подробности сообщений indexer'а

0SILENTПодавить весь вывод
1ERRORтолько критические ошибки
2WARNINGпредупреждения
3INFOСообщения информационного характера. Используется по-умолчанию.
4EXTRAДополнительный информационный вывод
5DEBUGОтладочный вывод

Параллельно с записью в syslog, indexer так же производит вывод на stdout/stderr. Чтобы подавить этот вывод, например, при запуске из cron, используйте опцию -l. Если Вы не хотите использовать syslog, то при запуске configure можно указать флаг --disable-syslog. Собраный таким образом, indexer будет использовать только stdout/stderr для вывода своих сообщений.

Syslog использует различные "facilities", чтобы направлять вывод от разных програм в разные логи. По-умолчанию indexer исполтьзует facility LOCAL7, который можно поменять во время сборки, указав configure опцию --enable-syslog=LOG_FACILITY. LOG_FACILITY должен быть правильным именем facility, которые обычно перечислены в заголовочном файле /usr/include/sys/syslog.h

Вы можете отредактировать файл /etc/syslog.conf, чтобы перенаправить сообщения DataparkSearch в желаемые файлы. Например,


# Log all messages from DataparkSearch to separate file
local7.*        -/var/log/DataparkSearch.log

Еще пример:


# Send all DataparkSearch messages to host named central
# Syslog on central should be configured to allow this
local7.*        @central

По-умолчанию, все сообщения пишутся так же в лог-файл /var/log/messages. Чтобы избежать этого, добавьте local7.none or local7.!* (игнорировать любые сообщения с facility local7) в Ваши 'catch-all' лог-файлы.

For example:


#
# Some `catch-all' logfiles.
#
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none;\
        local7.!*               -/var/log/messages

Для получения более подробной справки о syslog и его конфигурации, посмотрите страницы man syslogd(8) и syslog.conf(5).