PHP Conference Fukuoka 2025

openlog

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

openlogシステムのロガーへの接続をオープンする

説明

openlog(string $prefix, int $flags, int $facility): true

openlog() は、プログラムによるシステムロガーへの接続をオープンします。

openlog() の使用は必須ではありません。この関数は、 必要に応じて syslog() により自動的に呼び出されます。 この場合、prefix のデフォルト値は空文字列となります。

パラメータ

prefix

文字列 prefix が、各メッセージに追加されます。

flags

以下の定数のビットマスクを指定します:

facility

引数 facility には、 ロギングを行う際のメッセージ型を指定します。 これにより、異なった facility からのメッセージをどのように処理するかを、 設定ファイルが指定できるようになります。 以下の定数のうち、ひとつを指定する必要があります:

注意: このパラメータは、Windows では無視されます。

戻り値

常に true を返します。

変更履歴

バージョン 説明
8.2.0 この関数は、常に true を返すようになりました。 これより前のバージョンでは、失敗時に false を返していました。

参考

  • syslog() - システムログのメッセージを生成する
  • closelog() - システムログへの接続を閉じる

add a note

User Contributed Notes 1 note

up
1
Nimja
12 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