Optional parameter is {@link $target}. The default target is Stdout.
*Note: Use this Appender with command-line php scripts. * On web scripts this appender has no effects.
*This appender requires a layout.
* * @version $Revision: 772568 $ * @package log4php * @subpackage appender */ class LoggerAppenderConsole extends LoggerAppender { const STDOUT = 'php://stdout'; const STDERR = 'php://stderr'; /** * Can be 'php://stdout' or 'php://stderr'. But it's better to use keywords STDOUT and STDERR (case insensitive). * Default is STDOUT * @var string */ private $target = self::STDOUT; /** * @var boolean * @access private */ protected $requiresLayout = true; /** * @var mixed the resource used to open stdout/stderr * @access private */ protected $fp = false; /** * Set console target. * @param mixed $value a constant or a string */ public function setTarget($value) { $v = trim($value); if ($v == self::STDOUT || strtoupper($v) == 'STDOUT') { $this->target = self::STDOUT; } elseif ($v == self::STDERR || strtoupper($v) == 'STDERR') { $this->target = self::STDERR; } } public function activateOptions() { $this->fp = fopen($this->target, 'w'); if($this->fp !== false && $this->layout !== null) { fwrite($this->fp, $this->layout->getHeader()); } $this->closed = (bool)($this->fp === false); } /** * @see LoggerAppender::close() */ public function close() { if ($this->fp && $this->layout !== null) { fwrite($this->fp, $this->layout->getFooter()); fclose($this->fp); } $this->closed = true; } public function append($event) { if ($this->fp && $this->layout !== null) { fwrite($this->fp, $this->layout->format($event)); } } }