[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/log4php.debug/appenders/ -> LoggerAppenderConsole.php (source)

   1  <?php
   2  /**
   3   * log4php is a PHP port of the log4j java logging package.
   4   * 
   5   * <p>This framework is based on log4j (see {@link http://jakarta.apache.org/log4j log4j} for details).</p>
   6   * <p>Design, strategies and part of the methods documentation are developed by log4j team 
   7   * (Ceki G�lc� as log4j project founder and 
   8   * {@link http://jakarta.apache.org/log4j/docs/contributors.html contributors}).</p>
   9   *
  10   * <p>PHP port, extensions and modifications by VxR. All rights reserved.<br>
  11   * For more information, please see {@link http://www.vxr.it/log4php/}.</p>
  12   *
  13   * <p>This software is published under the terms of the LGPL License
  14   * a copy of which has been included with this distribution in the LICENSE file.</p>
  15   * 
  16   * @package log4php
  17   * @subpackage appenders
  18   */
  19  
  20  /**
  21   * @ignore 
  22   */
  23  if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
  24   
  25  /**
  26   */
  27  require_once(LOG4PHP_DIR . '/LoggerAppenderSkeleton.php');
  28  require_once (LOG4PHP_DIR . '/LoggerLog.php');
  29  
  30  
  31  define('LOG4PHP_LOGGER_APPENDER_CONSOLE_STDOUT', 'php://stdout');
  32  define('LOG4PHP_LOGGER_APPENDER_CONSOLE_STDERR', 'php://stderr');
  33  
  34  /**
  35   * ConsoleAppender appends log events to STDOUT or STDERR using a layout specified by the user. 
  36   * 
  37   * <p>Optional parameter is {@link $target}. The default target is Stdout.</p>
  38   * <p><b>Note</b>: Use this Appender with command-line php scripts. 
  39   * On web scripts this appender has no effects.</p>
  40   * <p>This appender requires a layout.</p>  
  41   *
  42   * @author VxR <[email protected]>
  43   * @version $Revision: 1.11 $
  44   * @package log4php
  45   * @subpackage appenders
  46   */
  47  class LoggerAppenderConsole extends LoggerAppenderSkeleton {
  48  
  49      /**
  50       * Can be 'php://stdout' or 'php://stderr'. But it's better to use keywords <b>STDOUT</b> and <b>STDERR</b> (case insensitive). 
  51       * Default is STDOUT
  52       * @var string    
  53       */
  54      var $target = 'php://stdout';
  55      
  56      /**
  57       * @var boolean
  58       * @access private     
  59       */
  60      var $requiresLayout = true;
  61  
  62      /**
  63       * @var mixed the resource used to open stdout/stderr
  64       * @access private     
  65       */
  66      var $fp = false;
  67      
  68      /**
  69       * Constructor.
  70       *
  71       * @param string $name appender name
  72       */
  73      function LoggerAppenderConsole($name)
  74      {
  75          $this->LoggerAppenderSkeleton($name);
  76      }
  77  
  78      /**
  79       * Set console target.
  80       * @param mixed $value a constant or a string
  81       */
  82      function setTarget($value)
  83      {
  84          $v = trim($value);
  85          if ($v == LOG4PHP_LOGGER_APPENDER_CONSOLE_STDOUT or strtoupper($v) == 'STDOUT') {
  86              $this->target = LOG4PHP_LOGGER_APPENDER_CONSOLE_STDOUT;
  87          } elseif ($v == LOG4PHP_LOGGER_APPENDER_CONSOLE_STDOUT or strtoupper($v) == 'STDERR') {
  88              $target = LOG4PHP_LOGGER_APPENDER_CONSOLE_STDOUT;
  89          } else {
  90              LoggerLog::debug(
  91                  "LoggerAppenderConsole::targetWarn() ".
  92                  "Invalid target. Using '".LOG4PHP_LOGGER_APPENDER_CONSOLE_STDOUT."' by default."
  93              );        
  94          }
  95      }
  96  
  97      function getTarget()
  98      {
  99          return $this->target;
 100      }
 101  
 102      function activateOptions()
 103      {
 104          LoggerLog::debug("LoggerAppenderConsole::activateOptions()");
 105              
 106          $this->fp = @fopen($this->getTarget(), 'w');
 107      
 108          if ($this->fp and $this->layout !== null)
 109              @fwrite($this->fp, $this->layout->getHeader());
 110  
 111          $this->closed = (bool)($this->fp === false);
 112      }
 113      
 114      /**
 115       * @see LoggerAppender::close()
 116       */
 117      function close()
 118      {
 119          LoggerLog::debug("LoggerAppenderConsole::close()");
 120          
 121          if ($this->fp and $this->layout !== null) {
 122              @fwrite($this->fp, $this->layout->getFooter());
 123          }        
 124          @fclose($this->fp);
 125          $this->closed = true;
 126      }
 127  
 128      function append($event)
 129      {
 130          if ($this->fp and $this->layout !== null) {
 131      
 132              LoggerLog::debug("LoggerAppenderConsole::append()");
 133          
 134              @fwrite($this->fp, $this->layout->format($event));
 135          } 
 136      }
 137  }
 138  
 139  ?>


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1