⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newclass.logger.php

📁 Professional PHP5 code for this book
💻 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 laterdefine('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 $hLogFile;  private $logLevel;  //Note: private constructor.  Class uses the singleton pattern  private function __construct() {      }  public static function register($logName, $connectionString) {    $urlData = parse_url($connectionString);        if(! isset($urlData['scheme'])) {      throw new Exception("Invalid log connection string $connectionString");    }        include_once('Logger/class.' . $urlData['scheme'] . 'LoggerBackend.php');        $className = $urlData['scheme'] . 'LoggerBackend';    if(! class_exists($className)) {      throw new Exception('No logging backend available for ' .                           $urlData['scheme']);    }        $objBack = new $className($urlData);        Logger::manageBackends($logName, $objBack);  }    public static function getInstance($name) {    return Logger::manageBackends($name);  }    private static function manageBackends($name, LoggerBackend $objBack = null) {    static $backEnds;        if(! isset($backEnds)) {      $backEnds = array();    }        if(! isset($objBack)) {      //we must be retrieving      if(isset($backEnds[$name])) {        return $backEnds[$name];       } else {        throw new Exception("The specified backend $name was not " .                             "registered with Logger.");       }           } else {       //we must be adding      $backEnds[$name] = $objBack;     }  }             public static function levelToString($logLevel) {    switch ($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]';    }  }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -