The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

openlog ()
  • openlog (3) ( FreeBSD man: Библиотечные вызовы )
  • >> openlog (3) ( Русские man: Библиотечные вызовы )
  • openlog (3) ( Linux man: Библиотечные вызовы )
  • openlog (3) ( POSIX man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

    closelog, openlog, syslog - сообщения программе, ведущей системный журнал  

    СИНТАКСИС

    #include <syslog.h>

    void openlog(const char *ident, int option, int facility);
    void syslog(int priority, const char *format, ...);
    void closelog(void);

    #include <stdarg.h>

    void vsyslog(int priority, const char *format, va_list ap);
     

    ОПИСАНИЕ

    closelog() закрывает описатель, используемый для записи данных в журнал. Использование closelog() необязательно.

    openlog() устанавливает связь с программой, ведущей системный журнал. Строка ident добавляется к каждому сообщению и обычно представляет собой название программы. Аргумент option указывает флаг управляющий работой openlog() и соответствующих вызовов syslog(). Аргумент facility устанаваливает значение по умолчанию если не указываются соответствующие параметры при вызовах syslog(). Значения option и facility приводятся ниже. Использование openlog() тоже необязательно, оно при необходимости автоматически будет вызвано функцией syslog(), и в этом случае значение ident будет установлено равным NULL.

    syslog() создает сообщение для журнала, которое передается syslogd(8). priority получаеся при логическом сложении facility и level, описанных в следующей главе. Остаются аргументы format (как и в printf(3)) и аргументы для format, кроме того, что сочетание %m будет заменено сообщением об ошибке strerror(errno) и будет добавлен завершающий символ новой строки.  

    ПАРАМЕТРЫ

    Этот раздел описывает параметры, используемые для установки значений option, facility и priority.  

    option

    Аргумент option, относящийся к функции openlog() , имеет значение ИЛИ для следующих выражений:
    LOG_CONS
    - написать сообщение об ошибке прямо на консоли, если была ошибка при записи данных в системный журнал;
    LOG_NDELAY
    - устанавливать соединение немедленно (обычно оно устанавливается только при поступлении первого сообщения);
    LOG_NOWAIT
    - не ожидает дочерние процессы которые могут быть созданы во время отправки этого сообщения. (Библиотека GNU C не создает в это время дочерних процессов, поэтому эта опция не будет иметь эффекта в Linux.)
    LOG_ODELAY
    - обратно от LOG_NDELAY; открытие соединения откладывается до вызова syslog().
    LOG_PERROR
    - посылать сообщение еще и в поток stderr (отсутствует в SUSv3);
    LOG_PID
    - добавлять к каждому сообщению идентификатор
     

    facility .

    Аргумент facility используется для указания типа программы, записывающей сообщения. Это позволяет файлу конфигурации указывать, что сообщения от различных программ будут по-разному обрабатываться.
    LOG_AUTH
    - сообщения о безопасности/авторизации (РЕКОМЕНДУЕТСЯ использовать вместо него LOG_AUTHPRIV).
    LOG_AUTHPRIV
    - сообщения о безопасности/авторизации (частные);
    LOG_CRON
    - демон часов (cron и at);
    LOG_DAEMON
    - другие системные демоны;
    LOG_KERN
    - сообщения ядра;
    LOG_LOCAL0 до LOG_LOCAL7
    зарезервированы для определения пользователем;
    LOG_LPR
    - подсистема принтера;
    LOG_MAIL
    - почтовая подсистема;
    LOG_NEWS
    - подсистема новостей USENET;
    LOG_SYSLOG
    - сообщения, генерируемые syslogd;
    LOG_USER
    (по умолчанию) - общие сообщения на уровне пользователя ;
    LOG_UUCP
    - подсистема UUCP
     

    level ,

    определяющая степень важности сообщения. Далее значения приводятся по понижению степени их важности:
    LOG_EMERG
    - система остановлена;
    LOG_ALERT
    - требуется немедленное вмешательство;
    LOG_CRIT
    - критические условия;
    LOG_ERR
    - ошибки;
    LOG_WARNING
    - предупреждения;
    LOG_NOTICE
    - важные рабочие условия;
    LOG_INFO
    - информационные сообщения;
    LOG_DEBUG
    - сообщения об отладке.

    Функция setlogmask(3) может использоваться для ограничения доступа на указанные уровни.  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    Функции openlog(), closelog(), и syslog() (но не vsyslog()) описаны в SUSv2 и POSIX 1003.1-2001. POSIX 1003.1-2001 описывает только значения LOG_USER и LOG_LOCAL* для facility. Кроме значений LOG_AUTHPRIV и LOG_FTP, другие значения facility присутствуют в различных системах Unix. Значение LOG_PERROR для option не описано в POSIX 1003.1-2001, но присутствует в большинстве версий Unix.  

    ПРИМЕЧАНИЯ ПО ИСТОРИИ

    Функция syslog появилась в BSD 4.2. BSD 4.3 описывает openlog(), syslog(), closelog(), и setlogmask(). 4.3BSD-Reno описывает vsyslog(). разумеется ранние версии функций v* использовали механизм <varargs.h>, не совместимый с <stdarg.h>.  

    ЗАМЕЧАНИЯ

    Аргумент ident функции openlog(), по-видимому, заносится один в один. Поэтому, если строка, на которую он указывает, меняется, то syslog() может начать подготавливать измененную строку. В случае же, когда строка уже не существует, результаты неопределены. Наиболее переносимо будет использовать строковую константу.

    Никогда не передавайте строку с предоставленным пользователем форматом, лучше используйте

    syslog("%s", string);
     

    СМ. ТАКЖЕ

    logger(1), setlogmask(3), syslog.conf(5), syslogd(8)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ПАРАМЕТРЫ
    option
    facility .
    level ,
    СООТВЕТСТВИЕ СТАНДАРТАМ
    ПРИМЕЧАНИЯ ПО ИСТОРИИ
    ЗАМЕЧАНИЯ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру