In second parameter int $option, PI means Process ID (PID).
That is the unique number given to that process. For eg [30326]
(PHP 4, PHP 5, PHP 7, PHP 8)
openlog — Открывает соединение к системному журналу
Функция openlog() открывает соединение к системному журналу для программы.
Использование openlog() не является обязательным. Эта функция при необходимости будет вызвана функцией syslog() автоматически, при этом параметр prefix
будет по умолчанию равен false
.
prefix
Строка prefix
добавляется к каждому сообщению.
flags
Аргумент flags
используется для указания используемых опций журналирования при создании записи журнала.
Константа | Описание |
---|---|
LOG_CONS |
если при отправке данных системному журналу происходит ошибка, перевести вывод непосредственно в системную консоль |
LOG_NDELAY |
открыть соединение с журналом без задержки |
LOG_ODELAY |
(по умолчанию) отложить открытие соединения до вывода первого сообщения в журнал |
LOG_PERROR |
выводить вместе со стандартной ошибкой сообщение журнала |
LOG_PID |
добавить PID к каждому сообщению |
OR
, к примеру, для открытия соединения без задержки, записи в консоль и включения PID в каждое из сообщений, необходима следующая комбинация опций: LOG_CONS | LOG_NDELAY | LOG_PID
facility
Параметр facility
используется для определения типа программы, создавшей сообщение журнала. Это позволяет определить (в конфигурации syslog) как будут обработаны сообщения журнала, поступающие из разных объектов.
Константа | Описание |
---|---|
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
.
Версия | Описание |
---|---|
8.2.0 |
Теперь функция каждый раз возвращает true . Раньше функция возвращала false , если возникла ошибка.
|
In second parameter int $option, PI means Process ID (PID).
That is the unique number given to that process. For eg [30326]
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));
}
}
?>