openlog
(PHP 4, PHP 5)
openlog — Open connection to system logger
Description
$ident
, int $option
, int $facility
)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 ident
will default
to FALSE
.
Parameters
-
ident
-
The string
ident
is added to each message. -
option
-
The
option
argument is used to indicate what logging options will be used when generating a log message.openlog() Options 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 -
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.openlog() Facilities 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 Note:
LOG_USER
is the only valid log type under Windows operating systems
Return Values
Returns TRUE
on success or FALSE
on failure.
- checkdnsrr
- closelog
- define_syslog_variables
- dns_check_record
- dns_get_mx
- dns_get_record
- fsockopen
- gethostbyaddr
- gethostbyname
- gethostbynamel
- gethostname
- getmxrr
- getprotobyname
- getprotobynumber
- getservbyname
- getservbyport
- header_register_callback
- header_remove
- header
- headers_list
- headers_sent
- http_response_code
- inet_ntop
- inet_pton
- ip2long
- long2ip
- openlog
- pfsockopen
- setcookie
- setrawcookie
- socket_get_status
- socket_set_blocking
- socket_set_timeout
- syslog
Коментарии
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));
}
}
?>