Думаю в 1.1.3 что-то не доработали,
если в Log Routes указать filter => CLogFilter система перестает учитывать поле level.
Если даже стоит error, записывает info и т.д. ну и если это CEmailLogRoute, то заваливает ящик.
CLogFilter взбесился...
- Stepan Selyuk
- Сообщения: 198
- Зарегистрирован: 2010.02.03, 05:51
- Откуда: Cyprus, Limassol
- Контактная информация:
CLogFilter взбесился...
Сначала невидимое, затем видимое. И так у всех программистов :)
- Stepan Selyuk
- Сообщения: 198
- Зарегистрирован: 2010.02.03, 05:51
- Откуда: Cyprus, Limassol
- Контактная информация:
Re: CLogFilter взбесился...
Сам на него и отвечу посмотрел ревизии CLogRoute.
rev 1678:
rev 2213:
В последней ревизии получается, что если фильтр включен, и даже если $logs пустая, то он все равно передает это в фильтр...
В таком случае нужно в CLogFilter в методе filter() проверять логи на пустоту, чего не происходит:
Пока отключил filter в маршрутах логов.
rev 1678:
Код: Выделить всё
public function collectLogs($logger, $processLogs=false)
{
$logs=$logger->getLogs($this->levels,$this->categories);
$this->logs=empty($this->logs) ? $logs : array_merge($this->logs,$logs);
if($processLogs && !empty($this->logs))
{
if($this->filter!==null)
Yii::createComponent($this->filter)->filter($this->logs);
$this->processLogs($this->logs);
}
}
Код: Выделить всё
public function collectLogs($logger, $processLogs=false)
{
$logs=$logger->getLogs($this->levels,$this->categories);
$this->logs=empty($this->logs) ? $logs : array_merge($this->logs,$logs);
if($processLogs)
{
if($this->filter!==null)
Yii::createComponent($this->filter)->filter($this->logs);
if(!empty($this->logs))
$this->processLogs($this->logs);
}
}
В таком случае нужно в CLogFilter в методе filter() проверять логи на пустоту, чего не происходит:
Код: Выделить всё
public function filter(&$logs)
{
if(($message=$this->getContext())!=='')
array_unshift($logs,array($message,CLogger::LEVEL_INFO,'application',YII_BEGIN_TIME));
$this->format($logs);
return $logs;
}
Сначала невидимое, затем видимое. И так у всех программистов :)
- Stepan Selyuk
- Сообщения: 198
- Зарегистрирован: 2010.02.03, 05:51
- Откуда: Cyprus, Limassol
- Контактная информация:
Re: CLogFilter взбесился...
Александр, а в 1.1.4 это было исправлено?
Сначала невидимое, затем видимое. И так у всех программистов :)
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: CLogFilter взбесился...
В changelog нет. Стоит проверить ещё раз и, если повторится — записать в трекер.
Нравится Yii? Давайте сделаем его лучше!.