Class yii\swiftmailer\Logger
Inheritance | yii\swiftmailer\Logger |
---|---|
Implements | Swift_Plugins_Logger |
Available since extension's version | 2.0.4 |
Source Code | https://github.com/yiisoft/yii2-swiftmailer/blob/master/src/Logger.php |
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 yii\swiftmailer\Mailer::$enableSwiftMailerLogging is enabled. For example:
[
'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:
[
'components' => [
'log' => [
'targets' => [
[
'class' => 'yii\log\FileTarget',
'categories' => ['yii\swiftmailer\Logger::add'],
],
],
],
// ...
],
// ...
],
Public Methods
Method | Description | Defined By |
---|---|---|
add() | yii\swiftmailer\Logger | |
clear() | yii\swiftmailer\Logger | |
dump() | yii\swiftmailer\Logger |
Method Details
public void add ( $entry ) | ||
$entry |
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__);
}