loggerまとめ
いまさらモジャ2
require_once( LOGGING_DIR . 'FileAppender.class.php' ); $layout =& new PatternLayout( '%N %c::%F() %m %d{r} %f:%l%n' ); $appender =& new FileAppender( $layout, LOG_DIR . '%d{Y_m_d}.log' ); $deflog =& LogManager::getLogger(); LogManager::addLogger( 'log', new ErrorLogger() ); $log =& LogManager::getLogger('log'); $log->addAppender( 'file', $appender ); // example // $log =& LogManager::getLogger( 'log' ); // $deflog->setPriority( LEVEL_DEBUG ); // $log->debug( $mesage, __CLASS__, __FUNCTION__, __FILE__, __LINE__ ); if ( defined( '_DEVELOPPING' ) and _DEVELOPPING ) { $log->setExitPriority( LEVEL_FATAL ); $log->setPriority( LEVEL_DEBUG ); $deflog->setExitPriority( LEVEL_FATAL ); $deflog->setPriority( LEVEL_DEBUG ); } else { $log->setExitPriority( 0 ); $log->setPriority( LEVEL_INFO ); $deflog->addAppender( 'file', $appender ); $deflog->setExitPriority( 0 ); // 0にするとエラーで死なない。 $deflog->setPriority( LEVEL_FATAL ); // FATAL以下にしない $deflog->removeAppender( 'stdout' ); // ブラウザに表示しない。 require_once( LIB_DIR . 'Logging/MailAppender.class.php' ); $mailAppender =& new MailAppender($layout); $deflog->addAppender( 'mail', $mailAppender ); require_once( LIB_DIR . 'Logging/ExitAppender.class.php' ); $exitAppender =& new ExitAppender($layout); $deflog->addAppender( 'exit', $exitAppender ); }