library/log4php/LoggerRoot.php
changeset 0 4869aea77e21
equal deleted inserted replaced
-1:000000000000 0:4869aea77e21
       
     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 /**
       
    22  * The root logger.
       
    23  *
       
    24  * @version $Revision: 1343190 $
       
    25  * @package log4php
       
    26  * @see Logger
       
    27  */
       
    28 class LoggerRoot extends Logger {
       
    29     /**
       
    30      * Constructor
       
    31      *
       
    32      * @param integer $level initial log level
       
    33      */
       
    34     public function __construct(LoggerLevel $level = null) {
       
    35         parent::__construct('root');
       
    36 
       
    37         if ($level == null) {
       
    38             $level = LoggerLevel::getLevelAll();
       
    39         }
       
    40         $this->setLevel($level);
       
    41     }
       
    42 
       
    43     /**
       
    44      * @return LoggerLevel the level
       
    45      */
       
    46     public function getEffectiveLevel() {
       
    47         return $this->getLevel();
       
    48     }
       
    49 
       
    50     /**
       
    51      * Override level setter to prevent setting the root logger's level to
       
    52      * null. Root logger must always have a level.
       
    53      *
       
    54      * @param LoggerLevel $level
       
    55      */
       
    56     public function setLevel(LoggerLevel $level = null) {
       
    57         if (isset($level)) {
       
    58             parent::setLevel($level);
       
    59         } else {
       
    60             trigger_error("log4php: Cannot set LoggerRoot level to null.", E_USER_WARNING);
       
    61         }
       
    62     }
       
    63 
       
    64     /**
       
    65      * Override parent setter. Root logger cannot have a parent.
       
    66      * @param Logger $parent
       
    67      */
       
    68     public function setParent(Logger $parent) {
       
    69         trigger_error("log4php: LoggerRoot cannot have a parent.", E_USER_WARNING);
       
    70     }
       
    71 }