12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?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.
- *
- * In order to catch logs written by this class, you need to setup a log route for 'yii\swiftmailer\Logger::add' category.
- * For example:
- *
- * ~~~
- * 'log' => [
- * 'targets' => [
- * [
- * 'class' => 'yii\log\FileTarget',
- * 'categories' => ['yii\swiftmailer\Logger::add'],
- * ],
- * ],
- * ],
- * ~~~
- *
- * @author Paul Klimov <klimov.paul@gmail.com>
- * @since 2.0
- */
- 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;
- }
- if (!isset($level)) {
- $level = \yii\log\Logger::LEVEL_INFO;
- }
- Yii::getLogger()->log($entry, $level, __METHOD__);
- }
- /**
- * @inheritdoc
- */
- public function clear()
- {
- // do nothing
- }
- /**
- * @inheritdoc
- */
- public function dump()
- {
- return '';
- }
- }
|