Overview

Packages

  • log4php
    • appenders
    • configurators
    • filters
    • helpers
    • layouts
    • pattern
    • renderers

Classes

  • LoggerAppenderConsole
  • LoggerAppenderDailyFile
  • LoggerAppenderEcho
  • LoggerAppenderFile
  • LoggerAppenderFirePHP
  • LoggerAppenderMail
  • LoggerAppenderMailEvent
  • LoggerAppenderMongoDB
  • LoggerAppenderNull
  • LoggerAppenderPDO
  • LoggerAppenderPhp
  • LoggerAppenderRollingFile
  • LoggerAppenderSocket
  • LoggerAppenderSyslog
  • Overview
  • Package
  • Class
  • Tree
  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: 
 19: /**
 20:  * LoggerAppenderConsole appends log events either to the standard output 
 21:  * stream (php://stdout) or the standard error stream (php://stderr).
 22:  * 
 23:  * **Note**: Use this Appender with command-line php scripts. On web scripts 
 24:  * this appender has no effects.
 25:  *
 26:  * This appender uses a layout.
 27:  *
 28:  * ## Configurable parameters: ##
 29:  * 
 30:  * - **target** - the target stream: "stdout" or "stderr"
 31:  * 
 32:  * @version $Revision: 1343601 $
 33:  * @package log4php
 34:  * @subpackage appenders
 35:  * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
 36:  * @link http://logging.apache.org/log4php/docs/appenders/console.html Appender documentation
 37:  */
 38:  class LoggerAppenderConsole extends LoggerAppender {
 39: 
 40:     /** The standard otuput stream.  */
 41:     const STDOUT = 'php://stdout';
 42:     
 43:     /** The standard error stream.*/
 44:     const STDERR = 'php://stderr';
 45: 
 46:     /** The 'target' parameter. */
 47:     protected $target = self::STDOUT;
 48:     
 49:     /**
 50:      * Stream resource for the target stream.
 51:      * @var resource
 52:      */
 53:     protected $fp = null;
 54: 
 55:     public function activateOptions() {
 56:         $this->fp = fopen($this->target, 'w');
 57:         if(is_resource($this->fp) && $this->layout !== null) {
 58:             fwrite($this->fp, $this->layout->getHeader());
 59:         }
 60:         $this->closed = (bool)is_resource($this->fp) === false;
 61:     }
 62:     
 63:     
 64:     public function close() {
 65:         if($this->closed != true) {
 66:             if (is_resource($this->fp) && $this->layout !== null) {
 67:                 fwrite($this->fp, $this->layout->getFooter());
 68:                 fclose($this->fp);
 69:             }
 70:             $this->closed = true;
 71:         }
 72:     }
 73: 
 74:     public function append(LoggerLoggingEvent $event) {
 75:         if (is_resource($this->fp) && $this->layout !== null) {
 76:             fwrite($this->fp, $this->layout->format($event));
 77:         }
 78:     }
 79:     
 80:     /**
 81:      * Sets the 'target' parameter.
 82:      * @param string $target
 83:      */
 84:     public function setTarget($target) {
 85:         $value = trim($target);
 86:         if ($value == self::STDOUT || strtoupper($value) == 'STDOUT') {
 87:             $this->target = self::STDOUT;
 88:         } elseif ($value == self::STDERR || strtoupper($value) == 'STDERR') {
 89:             $this->target = self::STDERR;
 90:         } else {
 91:             $target = var_export($target);
 92:             $this->warn("Invalid value given for 'target' property: [$target]. Property not set.");
 93:         }
 94:     }
 95:     
 96:     /**
 97:      * Returns the value of the 'target' parameter.
 98:      * @return string
 99:      */
100:     public function getTarget() {
101:         return $this->target;
102:     }
103: }
104: 
Apache log4php API documentation generated by ApiGen 2.8.0