Слил последние изменения с гитхаба, начал смотреть что нового, решил подтянуть дебуг тул бар
Долго мучался и не мог понять почему логгер не записывает в файлы
Наконец дошел до условия
if (\Yii::$app->getModule('debug', FALSE) !== null) {
return;
}
В файле Yii\logging\DebugTarget
Получается что если модули уже подгрузились то он не будет участвовать в записи логов, непонятно чем это обоснованно, но получается что если я в автолоаде опрашиваю все модули то дебага мне не видать
не убрав эти строки
DebugTarget Yii 2.0
Re: DebugTarget Yii 2.0
Ну просто как факт, на тестовом приложении (bootstrap) его можно подключить и он полетит без проблем.
Попытавшись сделать тоже самое уже на своем приложении встретился с подобной проблемой.
Попытавшись сделать тоже самое уже на своем приложении встретился с подобной проблемой.
Re: DebugTarget Yii 2.0
Вот простой компонент который убивает тул бар если его поставить в прелоад
Но что самое забавное что он и просто лог не писал
то есть при конфиге
"<------><------>'log' => array(
<------><------><------>'class' => 'yii\logging\Router',
<------><------><------>'targets' => array(
<------><------><------><------>array(
<------><------><------><------><------>'class' => 'yii\logging\FileTarget',
<------><------><------><------><------>'levels' => array('error', 'warning'),
<------><------><------><------>),
<------><------><------><------>array(
<------><------><------><------><------>'class' => 'yii\logging\DebugTarget',
<------><------><------><------>)
<------><------><------>),
<------><------>),"
Он создавал папку log в папке runtime но не записывал туда лог
Поидее как я понимаю строчка которая относится к DebugTarget должна влиять на запись только этого логгера но это приводит к тому что и простой лог тоже не пишется
Сейчас воспроизвел все с нуля на бут страпе, все так и есть, дебуг тул бар отваливается и логи не пишутся
Хотя с логом может и просто совпадение
Код: Выделить всё
<?php
namespace app;
use Yii\Base\Component;
use Exception;
class Loader extends Component
{
/**
* @var local var inlcuded module object array
* @access private
* */
private $_modules;
/**
* @var access entity array
* @access private
* */
private $_accessEntity;
/**
* Init at autoload
*
* @access public
* @return void
* */
public function init()
{
$modulesHeaders = \Yii::$app -> getModules();
foreach ($modulesHeaders as $moduleName => $modulePath)
{
$thisModule = \Yii::$app -> getModule($moduleName);
$this -> _modules[$moduleName] = $thisModule;
}
}
}
/* file */
/* End of file */
Но что самое забавное что он и просто лог не писал
то есть при конфиге
"<------><------>'log' => array(
<------><------><------>'class' => 'yii\logging\Router',
<------><------><------>'targets' => array(
<------><------><------><------>array(
<------><------><------><------><------>'class' => 'yii\logging\FileTarget',
<------><------><------><------><------>'levels' => array('error', 'warning'),
<------><------><------><------>),
<------><------><------><------>array(
<------><------><------><------><------>'class' => 'yii\logging\DebugTarget',
<------><------><------><------>)
<------><------><------>),
<------><------>),"
Он создавал папку log в папке runtime но не записывал туда лог
Поидее как я понимаю строчка которая относится к DebugTarget должна влиять на запись только этого логгера но это приводит к тому что и простой лог тоже не пишется
Сейчас воспроизвел все с нуля на бут страпе, все так и есть, дебуг тул бар отваливается и логи не пишутся
Хотя с логом может и просто совпадение
Re: DebugTarget Yii 2.0
Да так и есть, просто совпадение, лог в файл в папке log штатно пишется
Остальное остается в силе
Остальное остается в силе