Применение системы syslog

При использовании системы syslog для передачи сообщений в журнал в программе необходимо указать средство и уровень приоритета для каждого сообщения. В целях упрощения работы с системой syslog, библиотечные процедуры этой системы позволяют указывать средство с момента запуска программы, после чего система syslog использует это средство для регистрации последующих сообщений. Для указания начального значения средства в программе вызывается процедура openlog. Эта процедура принимает три параметра, которые состоят из идентификационной строки, набора опций обработки и спецификации средства. Система syslog добавляет указанный идентификатор ко всем выводимым программой последующим сообщениям таким образом, чтобы их можно было легко найти в журнале. Обычно в качестве идентификационной строки используется имя самой программы. Процедура openlog инициализирует функции ведения журнала, а также сохраняет в памяти идентификационную строку и спецификацию средства для дальнейшего использования. Например, в отлаживаемой программе может применяться следующий вызов:

openlog ("myprog", L0G_PID, LOGJJSER); 

Здесь указана идентификационная строка myprog, опция регистрации LOG_PID и средство LOGJJSER. Опция LOG_PID требует, чтобы система syslog регистрировала в журнале вместе с каждым сообщением идентификатор процесса данной программы. Мы знаем что вам предложить: Горячего ламинирования волос - онлайн консультации.

При возникновении необходимости отправить в журнал сообщение, в программе вызывается процедура syslog. Эта процедура отправляет сообщение на сервер syslogd на локальном компьютере. Процедура syslog принимает переменное число параметров. В первом из них задается приоритет сообщения, а во втором — строка формата, аналогичная применяемой функции printf. Как и в функции printf, за строкой формата следуют параметры, содержащие значения, на которые имеются ссылки в этой строке. В простейшем случае в программе процедура syslog может быть вызвана с использованием в качестве сообщения строковой константы. Например, в программу для вывода отладочного сообщения в системный журнал может быть включен следующий вызов:

syslog(LOG_DEBUG,Mmy program opened its input file"); 

После завершения работы с системой syslog в программе может быть вызвана процедура closelog для закрытия файла журнала (т.е. для прекращения взаимодействия с сервером). Процедура closelog закрывает соединение с файлом журнала и освобождает распределенный для него дескриптор ввода/вывода. Поэтому вызов процедуры closelog может потребоваться для освобождения дескриптора файла журнала (например, перед вызовом функции fork).

Похожие статьи Меню Опрос Фото Популярное