PHP Conference Japan 2024

openlog

(PHP 4, PHP 5, PHP 7, PHP 8)

openlog打开与系统日志的连接

描述

openlog(字符串 $prefix, 整数 $flags, 整数 $facility): true

openlog() 为程序打开与系统日志的连接。

使用openlog() 是可选的。如果需要,syslog() 会自动调用它,在这种情况下,prefix 将默认为空字符串。

参数

prefix

字符串 prefix 将添加到每条消息中。

flags

以下常量的位掩码

facility

facility 参数用于指定记录消息的程序类型。这允许配置文件指定不同设施的消息将被不同地处理。必须是以下常量之一

注意: 此参数在 Windows 上被忽略。

返回值

始终返回 true

变更日志

版本 描述
8.2.0 该函数现在始终返回 true。之前在失败时返回 false

参见

添加注释

用户贡献注释 1 条注释

Nimja
11 年前
对于好奇的人;在不同的设施之间切换不是问题。通过多次 (12 * 10000) 调用 openlog,没有明显的内存开销(也没有速度下降)。

此示例所示

<?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