1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
-
- /*
- * This file is part of SwiftMailer.
- * (c) 2004-2009 Chris Corbyn
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
- /**
- * Logs to an Array backend.
- * @package Swift
- * @subpackage Transport
- * @author Chris Corbyn
- */
- class Swift_Plugins_Loggers_ArrayLogger implements Swift_Plugins_Logger
- {
-
- /**
- * The log contents.
- * @var array
- * @access private
- */
- private $_log = array();
-
- /**
- * Max size of the log.
- * @var int
- * @access private
- */
- private $_size = 0;
-
- /**
- * Create a new ArrayLogger with a maximum of $size entries.
- * @var int $size
- */
- public function __construct($size = 50)
- {
- $this->_size = $size;
- }
-
- /**
- * Add a log entry.
- * @param string $entry
- */
- public function add($entry)
- {
- $this->_log[] = $entry;
- while (count($this->_log) > $this->_size)
- {
- array_shift($this->_log);
- }
- }
-
- /**
- * Clear the log contents.
- */
- public function clear()
- {
- $this->_log = array();
- }
-
- /**
- * Get this log as a string.
- * @return string
- */
- public function dump()
- {
- return implode(PHP_EOL, $this->_log);
- }
-
- }
|