[ * '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 * @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 ''; } }