Настройки такие:
Код: Выделить всё
return [
'class' => Queue::class,
'db' => 'db',
'tableName' => '{{%queue}}',
'channel' => 'default',
'mutex' => MysqlMutex::class,
'as log' => LogBehavior::class
];
Код: Выделить всё
return [
'targets' => [
[
'class' => DbTarget::class,
'logTable' => 'log_queue',
'levels' => ['error', 'warning', 'info'],
'categories' => ['yii\queue\*'],
'except' => ['application'],
],
],
];
vendor/yiisoft/yii2/log/Target.php
Код: Выделить всё
public function collect($messages, $final)
{
$this->messages = array_merge($this->messages, static::filterMessages($messages, $this->getLevels(), $this->categories, $this->except));
$count = count($this->messages);
if ($count > 0 && ($final || $this->exportInterval > 0 && $count >= $this->exportInterval)) {
if (($context = $this->getContextMessage()) !== '') {
$this->messages[] = [$context, Logger::LEVEL_INFO, 'application', YII_BEGIN_TIME, [], 0];
}
// set exportInterval to 0 to avoid triggering export again while exporting
$oldExportInterval = $this->exportInterval;
$this->exportInterval = 0;
$this->export();
$this->exportInterval = $oldExportInterval;
$this->messages = [];
}
}