ScotlandPHP

openlog

(PHP 4, PHP 5, PHP 7)

openlogОткрывает соединение к системному журналу

Описание

bool openlog ( string $ident , int $option , int $facility )

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

Использование openlog() не является обязательным. Эта функция при необходимости будет вызвана функцией syslog() автоматически, при этом параметр ident будет по умолчанию равен FALSE.

Список параметров

ident

Строка ident добавляется к каждому сообщению.

option

Аргумент option используется для указания используемых опций журналирования при создании записи журнала.

Опции openlog()
Constant Description
LOG_CONS если при отправке данных системному журналу происходит ошибка, перевести вывод непосредственно в системную консоль
LOG_NDELAY открыть соединение с журналом без задержки
LOG_ODELAY (по умолчанию) отложить открытие соединения до вывода первого сообщения в журнал
LOG_PERROR выводить вместе со стандартной ошибкой сообщение журнала
LOG_PID добавить PID к каждому сообщению
Можно использовать одну или сразу несколько опций. При использовании нескольких опций необходимо разделять их OR, к примеру, для открытия соединения без задержки, записи в консоль и включения PID в каждое из сообщений, необходима следующая комбинация опций: LOG_CONS | LOG_NDELAY | LOG_PID

facility

Параметр facility используется для определения типа программы создавшей сообщение журнала. Это позволяет определить (в конфигурации syslog) как будут обработаны сообщения журнала, поступающие из разных объектов.

openlog() Facilities
Константа Описание
LOG_AUTH сообщения по безопасности/авторизации (необходимо взамен использовать LOG_AUTHPRIV в системах, где эта константа предопределена)
LOG_AUTHPRIV сообщения по безопасности/авторизации (частное)
LOG_CRON планировщик задач (cron и at)
LOG_DAEMON другие системные службы
LOG_KERN сообщения ядра
LOG_LOCAL0 ... LOG_LOCAL7 зарезервированы для локального использования, не доступны в Windows
LOG_LPR подсистема печати LPR
LOG_MAIL почтовая подсистема
LOG_NEWS подсистема новостей USENET
LOG_SYSLOG внутренние сообщения syslogd
LOG_USER общие сообщения на уровне пользователя
LOG_UUCP подсистема UUCP

Замечание:

LOG_USER единственный верный тип журналирования в операционных системах Windows

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • syslog() - Генерирует сообщение для системного журнала
  • closelog() - Завершает соединение с системным журналом

add a note add a note

User Contributed Notes 2 notes

up
2
sam dot wankaner at gmail dot com
2 years ago
In second parameter int $option, PI means Process ID (PID).
That is the unique number given to that process. For eg [30326]
up
1
Nimja
4 years ago
To those curious; switching between different facilities is NOT an issue. There is no apparent memory overhead (nor slowdown) by calling openlog multiple(12 * 10000) times.

Shown by this example:

<?php
$facilities
= array(
   
LOG_AUTH,
   
LOG_AUTHPRIV,
   
LOG_CRON,
   
LOG_DAEMON,
   
LOG_KERN,
   
LOG_LOCAL0,
   
LOG_LPR,
   
LOG_MAIL,
   
LOG_NEWS,
   
LOG_SYSLOG,
   
LOG_USER,
   
LOG_UUCP,
);

for (
$i = 0; $i < 10000; $i++) {
    foreach (
$facilities as $facility) {
       
openlog('test', LOG_PID, $facility);
       
syslog(LOG_ERR, "This is a test: " . memory_get_usage(true));
    }
}
?>
To Top