You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.2 KiB
96 lines
2.2 KiB
<?php |
|
/** |
|
* @link http://www.yiiframework.com/ |
|
* @copyright Copyright (c) 2008 Yii Software LLC |
|
* @license http://www.yiiframework.com/license/ |
|
*/ |
|
|
|
namespace yii\swiftmailer; |
|
|
|
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' => [ |
|
* [ |
|
* 'class' => 'yii\log\FileTarget', |
|
* 'categories' => ['yii\swiftmailer\Logger::add'], |
|
* ], |
|
* ], |
|
* ], |
|
* // ... |
|
* ], |
|
* // ... |
|
* ], |
|
* ``` |
|
* |
|
* @author Paul Klimov <klimov.paul@gmail.com> |
|
* @since 2.0.4 |
|
*/ |
|
class Logger implements \Swift_Plugins_Logger |
|
{ |
|
/** |
|
* @inheritdoc |
|
*/ |
|
public function add($entry) |
|
{ |
|
$categoryPrefix = substr($entry, 0, 2); |
|
switch ($categoryPrefix) { |
|
case '++': |
|
$level = \yii\log\Logger::LEVEL_TRACE; |
|
break; |
|
case '>>': |
|
case '<<': |
|
$level = \yii\log\Logger::LEVEL_INFO; |
|
break; |
|
case '!!': |
|
$level = \yii\log\Logger::LEVEL_WARNING; |
|
break; |
|
default: |
|
$level = \yii\log\Logger::LEVEL_INFO; |
|
} |
|
|
|
Yii::getLogger()->log($entry, $level, __METHOD__); |
|
} |
|
|
|
/** |
|
* @inheritdoc |
|
*/ |
|
public function clear() |
|
{ |
|
// do nothing |
|
} |
|
|
|
/** |
|
* @inheritdoc |
|
*/ |
|
public function dump() |
|
{ |
|
return ''; |
|
} |
|
} |