Overview

Packages

  • CONTENIDO
  • Core
    • Authentication
    • Backend
    • Cache
    • CEC
    • Chain
    • ContentType
    • Database
    • Debug
    • Exception
    • Frontend
      • Search
      • URI
      • Util
    • GenericDB
      • Model
    • GUI
      • HTML
    • I18N
    • LayoutHandler
    • Log
    • Security
    • Session
    • Util
    • Validation
    • Versioning
    • XML
  • Module
    • ContentRssCreator
    • ContentSitemapHtml
    • ContentSitemapXml
    • ContentUserForum
    • NavigationTop
    • ScriptCookieDirective
  • mpAutoloaderClassMap
  • None
  • Plugin
    • ContentAllocation
    • CronjobOverview
    • FormAssistant
    • FrontendLogic
    • FrontendUsers
    • Linkchecker
    • ModRewrite
    • Newsletter
    • Repository
      • FrontendNavigation
      • KeywordDensity
    • SearchSolr
    • SmartyWrapper
    • UrlShortener
    • UserForum
    • Workflow
  • PluginManager
  • Setup
    • Form
    • GUI
    • Helper
      • Environment
      • Filesystem
      • MySQL
      • PHP
    • UpgradeJob
  • Smarty
    • Cacher
    • Compiler
    • Config
    • Debug
    • PluginsBlock
    • PluginsFilter
    • PluginsFunction
    • PluginsInternal
    • PluginsModifier
    • PluginsModifierCompiler
    • PluginsShared
    • Security
    • Template
    • TemplateResources
  • Swift
    • ByteStream
    • CharacterStream
    • Encoder
    • Events
    • KeyCache
    • Mailer
    • Mime
    • Plugins
    • Transport

Classes

  • Swift_FailoverTransport
  • Swift_LoadBalancedTransport
  • Swift_MailTransport
  • Swift_Plugins_Loggers_ArrayLogger
  • Swift_Plugins_Loggers_EchoLogger
  • Swift_SendmailTransport
  • Swift_SmtpTransport
  • Swift_Transport_AbstractSmtpTransport
  • Swift_Transport_Esmtp_Auth_CramMd5Authenticator
  • Swift_Transport_Esmtp_Auth_LoginAuthenticator
  • Swift_Transport_Esmtp_Auth_PlainAuthenticator
  • Swift_Transport_Esmtp_AuthHandler
  • Swift_Transport_EsmtpTransport
  • Swift_Transport_FailoverTransport
  • Swift_Transport_LoadBalancedTransport
  • Swift_Transport_MailTransport
  • Swift_Transport_SendmailTransport
  • Swift_Transport_SimpleMailInvoker
  • Swift_Transport_StreamBuffer

Interfaces

  • Swift_Plugins_Logger
  • Swift_Plugins_Pop_Pop3Exception
  • Swift_Transport
  • Swift_Transport_Esmtp_Authenticator
  • Swift_Transport_EsmtpHandler
  • Swift_Transport_IoBuffer
  • Swift_Transport_MailInvoker
  • Swift_Transport_SmtpAgent
  • Swift_TransportException
  • Overview
  • Package
  • Function
  • Todo
  • Download
  1: <?php
  2: 
  3: /*
  4:  * This file is part of SwiftMailer.
  5:  * (c) 2004-2009 Chris Corbyn
  6:  *
  7:  * For the full copyright and license information, please view the LICENSE
  8:  * file that was distributed with this source code.
  9:  */
 10: 
 11: /**
 12:  * Does real time logging of Transport level information.
 13:  *
 14:  * @package Swift
 15:  * @subpackage Plugins
 16:  *
 17:  * @author Chris Corbyn
 18:  */
 19: class Swift_Plugins_LoggerPlugin implements Swift_Events_CommandListener, Swift_Events_ResponseListener, Swift_Events_TransportChangeListener, Swift_Events_TransportExceptionListener, Swift_Plugins_Logger
 20: {
 21:     /** The logger which is delegated to */
 22:     private $_logger;
 23: 
 24:     /**
 25:      * Create a new LoggerPlugin using $logger.
 26:      *
 27:      * @param Swift_Plugins_Logger $logger
 28:      */
 29:     public function __construct(Swift_Plugins_Logger $logger)
 30:     {
 31:         $this->_logger = $logger;
 32:     }
 33: 
 34:     /**
 35:      * Add a log entry.
 36:      *
 37:      * @param string $entry
 38:      */
 39:     public function add($entry)
 40:     {
 41:         $this->_logger->add($entry);
 42:     }
 43: 
 44:     /**
 45:      * Clear the log contents.
 46:      */
 47:     public function clear()
 48:     {
 49:         $this->_logger->clear();
 50:     }
 51: 
 52:     /**
 53:      * Get this log as a string.
 54:      *
 55:      * @return string
 56:      */
 57:     public function dump()
 58:     {
 59:         return $this->_logger->dump();
 60:     }
 61: 
 62:     /**
 63:      * Invoked immediately following a command being sent.
 64:      *
 65:      * @param Swift_Events_ResponseEvent $evt
 66:      */
 67:     public function commandSent(Swift_Events_CommandEvent $evt)
 68:     {
 69:         $command = $evt->getCommand();
 70:         $this->_logger->add(sprintf(">> %s", $command));
 71:     }
 72: 
 73:     /**
 74:      * Invoked immediately following a response coming back.
 75:      *
 76:      * @param Swift_Events_ResponseEvent $evt
 77:      */
 78:     public function responseReceived(Swift_Events_ResponseEvent $evt)
 79:     {
 80:         $response = $evt->getResponse();
 81:         $this->_logger->add(sprintf("<< %s", $response));
 82:     }
 83: 
 84:     /**
 85:      * Invoked just before a Transport is started.
 86:      *
 87:      * @param Swift_Events_TransportChangeEvent $evt
 88:      */
 89:     public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt)
 90:     {
 91:         $transportName = get_class($evt->getSource());
 92:         $this->_logger->add(sprintf("++ Starting %s", $transportName));
 93:     }
 94: 
 95:     /**
 96:      * Invoked immediately after the Transport is started.
 97:      *
 98:      * @param Swift_Events_TransportChangeEvent $evt
 99:      */
100:     public function transportStarted(Swift_Events_TransportChangeEvent $evt)
101:     {
102:         $transportName = get_class($evt->getSource());
103:         $this->_logger->add(sprintf("++ %s started", $transportName));
104:     }
105: 
106:     /**
107:      * Invoked just before a Transport is stopped.
108:      *
109:      * @param Swift_Events_TransportChangeEvent $evt
110:      */
111:     public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt)
112:     {
113:         $transportName = get_class($evt->getSource());
114:         $this->_logger->add(sprintf("++ Stopping %s", $transportName));
115:     }
116: 
117:     /**
118:      * Invoked immediately after the Transport is stopped.
119:      *
120:      * @param Swift_Events_TransportChangeEvent $evt
121:      */
122:     public function transportStopped(Swift_Events_TransportChangeEvent $evt)
123:     {
124:         $transportName = get_class($evt->getSource());
125:         $this->_logger->add(sprintf("++ %s stopped", $transportName));
126:     }
127: 
128:     /**
129:      * Invoked as a TransportException is thrown in the Transport system.
130:      *
131:      * @param Swift_Events_TransportExceptionEvent $evt
132:      */
133:     public function exceptionThrown(Swift_Events_TransportExceptionEvent $evt)
134:     {
135:         $e = $evt->getException();
136:         $message = $e->getMessage();
137:         $this->_logger->add(sprintf("!! %s", $message));
138:         $message .= PHP_EOL;
139:         $message .= 'Log data:' . PHP_EOL;
140:         $message .= $this->_logger->dump();
141:         $evt->cancelBubble();
142:         throw new Swift_TransportException($message);
143:     }
144: }
145: 
CMS CONTENIDO 4.9.7 API documentation generated by ApiGen