Browse Source

`Logger` docs improved

tags/2.1.0
Klimov Paul 7 years ago
parent
commit
97d14bf3da
  1. 32
      Logger.php
  2. 21
      Mailer.php

32
Logger.php

@ -13,10 +13,28 @@ use Yii;
* Logger is a SwiftMailer plugin, which allows passing of the SwiftMailer internal logs to the
* Yii logging mechanism. Each native SwiftMailer log message will be converted into Yii 'info' log entry.
*
* This logger will be automatically created and applied to underlying [[\Swift_Mailer]] instance, if [[Mailer::$enableSwiftMailerLogging]]
* is enabled. For example:
*
* ```php
* [
* 'components' => [
* 'mailer' => [
* 'class' => 'yii\swiftmailer\Mailer',
* 'enableSwiftMailerLogging' => true,
* ],
* ],
* // ...
* ],
* ```
*
*
* In order to catch logs written by this class, you need to setup a log route for 'yii\swiftmailer\Logger::add' category.
* For example:
*
* ~~~
* ```php
* [
* 'components' => [
* 'log' => [
* 'targets' => [
* [
@ -25,10 +43,14 @@ use Yii;
* ],
* ],
* ],
* ~~~
* // ...
* ],
* // ...
* ],
* ```
*
* @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.0
* @since 2.0.4
*/
class Logger implements \Swift_Plugins_Logger
{
@ -49,9 +71,7 @@ class Logger implements \Swift_Plugins_Logger
case '!!':
$level = \yii\log\Logger::LEVEL_WARNING;
break;
}
if (!isset($level)) {
default:
$level = \yii\log\Logger::LEVEL_INFO;
}

21
Mailer.php

@ -14,11 +14,11 @@ use yii\mail\BaseMailer;
/**
* Mailer implements a mailer based on SwiftMailer.
*
* To use Mailer, you should configure it in the application configuration like the following,
* To use Mailer, you should configure it in the application configuration like the following:
*
* ~~~
* ```php
* [
* 'components' => [
* ...
* 'mailer' => [
* 'class' => 'yii\swiftmailer\Mailer',
* 'transport' => [
@ -30,9 +30,11 @@ use yii\mail\BaseMailer;
* 'encryption' => 'tls',
* ],
* ],
* ...
* // ...
* ],
* // ...
* ],
* ~~~
* ```
*
* You may also skip the configuration of the [[transport]] property. In that case, the default
* PHP `mail()` function will be used to send emails.
@ -41,7 +43,7 @@ use yii\mail\BaseMailer;
* You can also specify the list of plugins, which should be registered to the transport using
* 'plugins' key. For example:
*
* ~~~
* ```php
* 'transport' => [
* 'class' => 'Swift_SmtpTransport',
* 'constructArgs' => ['localhost', 25]
@ -52,17 +54,17 @@ use yii\mail\BaseMailer;
* ],
* ],
* ],
* ~~~
* ```
*
* To send an email, you may use the following code:
*
* ~~~
* ```php
* Yii::$app->mailer->compose('contact/html', ['contactForm' => $form])
* ->setFrom('from@domain.com')
* ->setTo($form->email)
* ->setSubject($form->subject)
* ->send();
* ~~~
* ```
*
* @see http://swiftmailer.org
*
@ -83,6 +85,7 @@ class Mailer extends BaseMailer
* @var bool whether to enable writing of the SwiftMailer internal logs using Yii log mechanism.
* If enabled [[Logger]] plugin will be attached to the [[transport]] for this purpose.
* @see Logger
* @since 2.0.4
*/
public $enableSwiftMailerLogging = false;

Loading…
Cancel
Save