PEAR_ErrorStackでは、ロガーを指定することでエラーのpushでログを出力するように 指定することができます。
例えば、PearのLogパッケージを指定し、エラーをスタックに積みログをPear::Logにログを 出力します。
$stack =& PEAR_ErrorStack::singleton('MyPackage'); $objLog =& Log::singleton('file','logfile.log','ident'); $stack->setDefaultLogger($objLog); $stack->push(MYPACKAGE_ERROR_DBERROR, 'error', array('MySQL' => 'DBエラーメッセージ' ,'SQL' => 'エラー情報'), 'Error:DB %MySQL% : SQL Error:%SQL%');
PEAR_ErrorStackのエラーレベル(上記の場合、error)は、Pear::Logのレベル(定数)に 変換されます。
$levels = array( 'exception' => PEAR_LOG_CRIT, 'alert' => PEAR_LOG_ALERT, 'critical' => PEAR_LOG_CRIT, 'error' => PEAR_LOG_ERR, 'warning' => PEAR_LOG_WARNING, 'notice' => PEAR_LOG_NOTICE, 'info' => PEAR_LOG_INFO, 'debug' => PEAR_LOG_DEBUG);
loggerの設定方法は、2つの方法があります。setDefaultLogger()関数とsetLogger()関数です。
setDefaultLogger()関数は、$GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER']に格納します。
setLogger()関数は、メンバ変数の$_loggerにloggerを格納します。
Copyright 1997-2010 BBB All rights reserved.