professional-php-11-newclass.Logger.php / php
<?php //Log Levels. The higher the number, the less severe the message //Gaps are left in the numbering to allow for other levels //to be added later define('LOGGER_DEBUG', 100); define('LOGGER_INFO', 75); define('LOGGER_NOTICE', 50); define('LOGGER_WARNING', 25); define('LOGGER_ERROR', 10); define('LOGGER_CRITICAL', 5); class Logger { private logLevel; //Note: private constructor. Class uses the singleton pattern private function __construct() { } public static function register(connectionString) { connectionString); if(! isset(connectionString"); } include_once('Logger/class.' . className = className)) { throw new Exception('No logging backend available for ' . objBack = new urlData); Logger::manageBackends(objBack); } public static function getInstance(name); } private static function manageBackends(objBack = null) { static backEnds)) { objBack)) { //we must be retrieving if(isset(name])) { return name]; } else { throw new Exception("The specified backend //we must be adding backEnds[objBack; } } public static function levelToString(logLevel) { case LOGGER_DEBUG: return 'LOGGER_DEBUG'; break; case LOGGER_INFO: return 'LOGGER_INFO'; break; case LOGGER_NOTICE: return 'LOGGER_NOTICE'; break; case LOGGER_WARNING: return 'LOGGER_WARNING'; break; case LOGGER_ERROR: return 'LOGGER_ERROR'; break; case LOGGER_CRITICAL: return 'LOGGER_CRITICAL'; default: return '[unknown]'; } } } ?>
(C) Æliens 20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.