| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | 
							- <?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.
 -  */
 - 
 - 
 - /**
 -  * Does real time logging of Transport level information.
 -  * 
 -  * @package Swift
 -  * @subpackage Plugins
 -  * 
 -  * @author Chris Corbyn
 -  */
 - class Swift_Plugins_LoggerPlugin
 -   implements Swift_Events_CommandListener, Swift_Events_ResponseListener,
 -   Swift_Events_TransportChangeListener, Swift_Events_TransportExceptionListener,
 -   Swift_Plugins_Logger
 - {
 -   
 -   /** The logger which is delegated to */
 -   private $_logger;
 -   
 -   /**
 -    * Create a new LoggerPlugin using $logger.
 -    * 
 -    * @param Swift_Plugins_Logger $logger
 -    */
 -   public function __construct(Swift_Plugins_Logger $logger)
 -   {
 -     $this->_logger = $logger;
 -   }
 -   
 -   /**
 -    * Add a log entry.
 -    * 
 -    * @param string $entry
 -    */
 -   public function add($entry)
 -   {
 -     $this->_logger->add($entry);
 -   }
 -   
 -   /**
 -    * Clear the log contents.
 -    */
 -   public function clear()
 -   {
 -     $this->_logger->clear();
 -   }
 -   
 -   /**
 -    * Get this log as a string.
 -    * 
 -    * @return string
 -    */
 -   public function dump()
 -   {
 -     return $this->_logger->dump();
 -   }
 -   
 -   /**
 -    * Invoked immediately following a command being sent.
 -    * 
 -    * @param Swift_Events_ResponseEvent $evt
 -    */
 -   public function commandSent(Swift_Events_CommandEvent $evt)
 -   {
 -     $command = $evt->getCommand();
 -     $this->_logger->add(sprintf(">> %s", $command));
 -   }
 -   
 -   /**
 -    * Invoked immediately following a response coming back.
 -    * 
 -    * @param Swift_Events_ResponseEvent $evt
 -    */
 -   public function responseReceived(Swift_Events_ResponseEvent $evt)
 -   {
 -     $response = $evt->getResponse();
 -     $this->_logger->add(sprintf("<< %s", $response));
 -   }
 -   
 -   /**
 -    * Invoked just before a Transport is started.
 -    * 
 -    * @param Swift_Events_TransportChangeEvent $evt
 -    */
 -   public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt)
 -   {
 -     $transportName = get_class($evt->getSource());
 -     $this->_logger->add(sprintf("++ Starting %s", $transportName));
 -   }
 -   
 -   /**
 -    * Invoked immediately after the Transport is started.
 -    * 
 -    * @param Swift_Events_TransportChangeEvent $evt
 -    */
 -   public function transportStarted(Swift_Events_TransportChangeEvent $evt)
 -   {
 -     $transportName = get_class($evt->getSource());
 -     $this->_logger->add(sprintf("++ %s started", $transportName));
 -   }
 -   
 -   /**
 -    * Invoked just before a Transport is stopped.
 -    * 
 -    * @param Swift_Events_TransportChangeEvent $evt
 -    */
 -   public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt)
 -   {
 -     $transportName = get_class($evt->getSource());
 -     $this->_logger->add(sprintf("++ Stopping %s", $transportName));
 -   }
 -   
 -   /**
 -    * Invoked immediately after the Transport is stopped.
 -    * 
 -    * @param Swift_Events_TransportChangeEvent $evt
 -    */
 -   public function transportStopped(Swift_Events_TransportChangeEvent $evt)
 -   {
 -     $transportName = get_class($evt->getSource());
 -     $this->_logger->add(sprintf("++ %s stopped", $transportName));
 -   }
 -   
 -   /**
 -    * Invoked as a TransportException is thrown in the Transport system.
 -    * 
 -    * @param Swift_Events_TransportExceptionEvent $evt
 -    */
 -   public function exceptionThrown(Swift_Events_TransportExceptionEvent $evt)
 -   {
 -     $e = $evt->getException();
 -     $message = $e->getMessage();
 -     $this->_logger->add(sprintf("!! %s", $message));
 -     $message .= PHP_EOL;
 -     $message .= 'Log data:' . PHP_EOL;
 -     $message .= $this->_logger->dump();
 -     $evt->cancelBubble();
 -     throw new Swift_TransportException($message);
 -   }
 -   
 - }
 
 
  |