Na produkci se nelogují errory
- Kamil Valenta
- Člen | 815
Ahoj,
jsem zvyklý, že na dev a lokále se zobrazují chyby přímo v Tracy, na
produkci se pak logují do /log/error.log a /log/exception.log + se vytvoří
*.html report.
Bohužel na některých serverech se tak neděje. Pokud v presenteru vyvolám chybu, např. vytvořím instanci neexistující třídy, zobrazí se mi korektně 500.latte (mám ji v češtině, takže se zdá, že ji odbavil ErrorPresenter), ale v logu není zmínka ani v *.log, ani není vytvořen *.html
Přitom:
- zápis do adresáře /log je povolen, pokud ručně zavolám
\Tracy\Debugger::log('test');
vytvoří se /log/info.log a v něm řádek s „test“
- zdá se, že PHP User Warningy se do /log/error.log logují, ale errory ne
- v ErrorPresenter nemám nic zvláštního
namespace App\Presenters;
/**
* Error presenter.
*/
class ErrorPresenter extends \Nette\Application\UI\Presenter
{
/**
* @param Exception
* @return void
*/
public function actionDefault($exception)
{
if ($exception instanceof \Nette\Application\BadRequestException)
{
$code = $exception->getCode();
switch ($code)
{
case 404:
$this->setView('404');
break;
default:
$this->setView('500');
}
} else
{
$this->setView('500');
}
if ($this->isAjax())
{
// AJAX request? Note this error in payload.
$this->payload->error = TRUE;
$this->terminate();
}
}
}
- zkoušel jsem i v neonu přidat:
Tracy:
/logSeverity: E_ALL
Ale bez výsledku.
- v boostrap.php mám
$configurator = new Nette\Configurator;
//$configurator->setDebugMode(array('moje ip')); // enable for your remote IP
$configurator->enableTracy(__DIR__ . '/../log');
Po každé úpravě čehokoliv mažu cache.
Kde ještě hledat? Co by ještě mohlo ovlivnit to, že na produkci logy nevznikají? :(
Verze Tracy je 2.4.7
Editoval kamil_v (13. 2. 2019 13:57)
- David Matějka
- Moderator | 6445
v error presenteru to musis zalogovat, viz https://github.com/…resenter.php#L36
- Kamil Valenta
- Člen | 815
Aha, a je možné, že starší verze to logovala sama?
Protože jsem to nikdy ručně nelogoval, ErrorPresenter s sebou tahám prakticky beze změny, přesto starší projekty logují.
Jinak díky moc za info.