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 — Open connection to system logger
openlog() opens a connection to the system logger for a program.
The use of openlog() is optional. It
will automatically be called by syslog() if
necessary, in which case prefix
will default
to false
.
prefix
The string prefix
is added to each message.
flags
The flags
argument is used to indicate
what logging options will be used when generating a log message.
Constant | Description |
---|---|
LOG_CONS |
if there is an error while sending data to the system logger, write directly to the system console |
LOG_NDELAY |
open the connection to the logger immediately |
LOG_ODELAY |
(default) delay opening the connection until the first message is logged |
LOG_PERROR |
print log message also to standard error |
LOG_PID |
include PID with each message |
OR
them, i.e. to open the connection
immediately, write to the console and include the PID in each message,
you will use: LOG_CONS | LOG_NDELAY | LOG_PID
facility
The facility
argument is used to specify what
type of program is logging the message. This allows you to specify
(in your machine's syslog configuration) how messages coming from
different facilities will be handled.
Constant | Description |
---|---|
LOG_AUTH |
security/authorization messages (use
LOG_AUTHPRIV instead
in systems where that constant is defined)
|
LOG_AUTHPRIV |
security/authorization messages (private) |
LOG_CRON |
clock daemon (cron and at) |
LOG_DAEMON |
other system daemons |
LOG_KERN |
kernel messages |
LOG_LOCAL0 ... LOG_LOCAL7 |
reserved for local use, these are not available in Windows |
LOG_LPR |
line printer subsystem |
LOG_MAIL |
mail subsystem |
LOG_NEWS |
USENET news subsystem |
LOG_SYSLOG |
messages generated internally by syslogd |
LOG_USER |
generic user-level messages |
LOG_UUCP |
UUCP subsystem |
注意:
LOG_USER
is the only valid log type under Windows operating systems
成功时返回 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));
}
}
?>