library/log4php/LoggerAutoloader.php
changeset 46 f11c31f7fa3e
parent 45 a56e7f9a0463
child 47 03388ec805b4
equal deleted inserted replaced
45:a56e7f9a0463 46:f11c31f7fa3e
     1 <?php
       
     2 /**
       
     3  * Licensed to the Apache Software Foundation (ASF) under one or more
       
     4  * contributor license agreements. See the NOTICE file distributed with
       
     5  * this work for additional information regarding copyright ownership.
       
     6  * The ASF licenses this file to You under the Apache License, Version 2.0
       
     7  * (the "License"); you may not use this file except in compliance with
       
     8  * the License. You may obtain a copy of the License at
       
     9  *
       
    10  *        http://www.apache.org/licenses/LICENSE-2.0
       
    11  *
       
    12  * Unless required by applicable law or agreed to in writing, software
       
    13  * distributed under the License is distributed on an "AS IS" BASIS,
       
    14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       
    15  * See the License for the specific language governing permissions and
       
    16  * limitations under the License.
       
    17  *
       
    18  * @package log4php
       
    19  */
       
    20 
       
    21 if (function_exists('__autoload')) {
       
    22     trigger_error("log4php: It looks like your code is using an __autoload() function. log4php uses spl_autoload_register() which will bypass your __autoload() function and may break autoloading.", E_USER_WARNING);
       
    23 }
       
    24 
       
    25 spl_autoload_register(array('LoggerAutoloader', 'autoload'));
       
    26 
       
    27 /**
       
    28  * Class autoloader.
       
    29  *
       
    30  * @package log4php
       
    31  * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
       
    32  * @version $Revision: 1394956 $
       
    33  */
       
    34 class LoggerAutoloader {
       
    35 
       
    36     /** Maps classnames to files containing the class. */
       
    37     private static $classes = array(
       
    38 
       
    39         // Base
       
    40         'LoggerAppender' => '/LoggerAppender.php',
       
    41         'LoggerAppenderPool' => '/LoggerAppenderPool.php',
       
    42         'LoggerConfigurable' => '/LoggerConfigurable.php',
       
    43         'LoggerConfigurator' => '/LoggerConfigurator.php',
       
    44         'LoggerException' => '/LoggerException.php',
       
    45         'LoggerFilter' => '/LoggerFilter.php',
       
    46         'LoggerHierarchy' => '/LoggerHierarchy.php',
       
    47         'LoggerLevel' => '/LoggerLevel.php',
       
    48         'LoggerLocationInfo' => '/LoggerLocationInfo.php',
       
    49         'LoggerLoggingEvent' => '/LoggerLoggingEvent.php',
       
    50         'LoggerMDC' => '/LoggerMDC.php',
       
    51         'LoggerNDC' => '/LoggerNDC.php',
       
    52         'LoggerLayout' => '/LoggerLayout.php',
       
    53         'LoggerReflectionUtils' => '/LoggerReflectionUtils.php',
       
    54         'LoggerRoot' => '/LoggerRoot.php',
       
    55         'LoggerThrowableInformation' => '/LoggerThrowableInformation.php',
       
    56 
       
    57         // Appenders
       
    58         'LoggerAppenderConsole' => '/appenders/LoggerAppenderConsole.php',
       
    59         'LoggerAppenderDailyFile' => '/appenders/LoggerAppenderDailyFile.php',
       
    60         'LoggerAppenderEcho' => '/appenders/LoggerAppenderEcho.php',
       
    61         'LoggerAppenderFile' => '/appenders/LoggerAppenderFile.php',
       
    62         'LoggerAppenderMail' => '/appenders/LoggerAppenderMail.php',
       
    63         'LoggerAppenderMailEvent' => '/appenders/LoggerAppenderMailEvent.php',
       
    64         'LoggerAppenderMongoDB' => '/appenders/LoggerAppenderMongoDB.php',
       
    65         'LoggerAppenderNull' => '/appenders/LoggerAppenderNull.php',
       
    66         'LoggerAppenderFirePHP' => '/appenders/LoggerAppenderFirePHP.php',
       
    67         'LoggerAppenderPDO' => '/appenders/LoggerAppenderPDO.php',
       
    68         'LoggerAppenderPhp' => '/appenders/LoggerAppenderPhp.php',
       
    69         'LoggerAppenderRollingFile' => '/appenders/LoggerAppenderRollingFile.php',
       
    70         'LoggerAppenderSocket' => '/appenders/LoggerAppenderSocket.php',
       
    71         'LoggerAppenderSyslog' => '/appenders/LoggerAppenderSyslog.php',
       
    72 
       
    73         // Configurators
       
    74         'LoggerConfigurationAdapter' => '/configurators/LoggerConfigurationAdapter.php',
       
    75         'LoggerConfigurationAdapterINI' => '/configurators/LoggerConfigurationAdapterINI.php',
       
    76         'LoggerConfigurationAdapterPHP' => '/configurators/LoggerConfigurationAdapterPHP.php',
       
    77         'LoggerConfigurationAdapterXML' => '/configurators/LoggerConfigurationAdapterXML.php',
       
    78         'LoggerConfiguratorDefault' => '/configurators/LoggerConfiguratorDefault.php',
       
    79 
       
    80         // Filters
       
    81         'LoggerFilterDenyAll' => '/filters/LoggerFilterDenyAll.php',
       
    82         'LoggerFilterLevelMatch' => '/filters/LoggerFilterLevelMatch.php',
       
    83         'LoggerFilterLevelRange' => '/filters/LoggerFilterLevelRange.php',
       
    84         'LoggerFilterStringMatch' => '/filters/LoggerFilterStringMatch.php',
       
    85 
       
    86         // Helpers
       
    87         'LoggerFormattingInfo' => '/helpers/LoggerFormattingInfo.php',
       
    88         'LoggerOptionConverter' => '/helpers/LoggerOptionConverter.php',
       
    89         'LoggerPatternParser' => '/helpers/LoggerPatternParser.php',
       
    90         'LoggerUtils' => '/helpers/LoggerUtils.php',
       
    91 
       
    92         // Pattern converters
       
    93         'LoggerPatternConverter' => '/pattern/LoggerPatternConverter.php',
       
    94         'LoggerPatternConverterClass' => '/pattern/LoggerPatternConverterClass.php',
       
    95         'LoggerPatternConverterCookie' => '/pattern/LoggerPatternConverterCookie.php',
       
    96         'LoggerPatternConverterDate' => '/pattern/LoggerPatternConverterDate.php',
       
    97         'LoggerPatternConverterEnvironment' => '/pattern/LoggerPatternConverterEnvironment.php',
       
    98         'LoggerPatternConverterFile' => '/pattern/LoggerPatternConverterFile.php',
       
    99         'LoggerPatternConverterLevel' => '/pattern/LoggerPatternConverterLevel.php',
       
   100         'LoggerPatternConverterLine' => '/pattern/LoggerPatternConverterLine.php',
       
   101         'LoggerPatternConverterLiteral' => '/pattern/LoggerPatternConverterLiteral.php',
       
   102         'LoggerPatternConverterLocation' => '/pattern/LoggerPatternConverterLocation.php',
       
   103         'LoggerPatternConverterLogger' => '/pattern/LoggerPatternConverterLogger.php',
       
   104         'LoggerPatternConverterMDC' => '/pattern/LoggerPatternConverterMDC.php',
       
   105         'LoggerPatternConverterMessage' => '/pattern/LoggerPatternConverterMessage.php',
       
   106         'LoggerPatternConverterMethod' => '/pattern/LoggerPatternConverterMethod.php',
       
   107         'LoggerPatternConverterNDC' => '/pattern/LoggerPatternConverterNDC.php',
       
   108         'LoggerPatternConverterNewLine' => '/pattern/LoggerPatternConverterNewLine.php',
       
   109         'LoggerPatternConverterProcess' => '/pattern/LoggerPatternConverterProcess.php',
       
   110         'LoggerPatternConverterRelative' => '/pattern/LoggerPatternConverterRelative.php',
       
   111         'LoggerPatternConverterRequest' => '/pattern/LoggerPatternConverterRequest.php',
       
   112         'LoggerPatternConverterServer' => '/pattern/LoggerPatternConverterServer.php',
       
   113         'LoggerPatternConverterSession' => '/pattern/LoggerPatternConverterSession.php',
       
   114         'LoggerPatternConverterSessionID' => '/pattern/LoggerPatternConverterSessionID.php',
       
   115         'LoggerPatternConverterSuperglobal' => '/pattern/LoggerPatternConverterSuperglobal.php',
       
   116         'LoggerPatternConverterThrowable' => '/pattern/LoggerPatternConverterThrowable.php',
       
   117 
       
   118         // Layouts
       
   119         'LoggerLayoutHtml' => '/layouts/LoggerLayoutHtml.php',
       
   120         'LoggerLayoutPattern' => '/layouts/LoggerLayoutPattern.php',
       
   121         'LoggerLayoutSerialized' => '/layouts/LoggerLayoutSerialized.php',
       
   122         'LoggerLayoutSimple' => '/layouts/LoggerLayoutSimple.php',
       
   123         'LoggerLayoutTTCC' => '/layouts/LoggerLayoutTTCC.php',
       
   124         'LoggerLayoutXml' => '/layouts/LoggerLayoutXml.php',
       
   125 
       
   126         // Renderers
       
   127         'LoggerRendererDefault' => '/renderers/LoggerRendererDefault.php',
       
   128         'LoggerRendererException' => '/renderers/LoggerRendererException.php',
       
   129         'LoggerRendererMap' => '/renderers/LoggerRendererMap.php',
       
   130         'LoggerRenderer' => '/renderers/LoggerRenderer.php',
       
   131     );
       
   132 
       
   133     /**
       
   134      * Loads a class.
       
   135      * @param string $className The name of the class to load.
       
   136      */
       
   137     public static function autoload($className) {
       
   138         if (isset(self::$classes[$className])) {
       
   139             include dirname(__FILE__) . self::$classes[$className];
       
   140         }
       
   141     }
       
   142 }