Best Practice pro logovani a zpracovani chyb?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Dj_Oggy
Člen | 67
+
0
-

Zdravim,

koukal jsem do dokumentace a do fora, ale nenarazil jsem tu nikde na zadnou Best Practice na logovani a zpracovani chyb. Sice je v dokumentaci popsana ladenka, nejaky zapis do db nebo posilani na email. Ale nenarazil jsem treba spravne zpracovani exceptionu, nastaveni error page apod.

Jake pouzivate vy praktiky?

Dikes

Ondřej Mirtes
Člen | 1536
+
0
-

Já tedy v bootstrapu mám:

if (substr_count($_SERVER['HTTP_HOST'], 'example.com') > 0) //protože na mém hostingu selhává autodetekce
Environment::setMode(Environment::PRODUCTION);
else Environment::setMode(Environment::DEVELOPMENT);

$application = Environment::getApplication();

if (Environment::isProduction()) $application->catchExceptions = true;
$application->errorPresenter = 'Web:Error';

Debug::enable(Debug::DETECT, APP_DIR . '/logs/error.log', array(
    'From' => 'nette@%host%',
    'To'   => 'mail@mail.cz',
    'Subject' => 'Chyba na serveru %host%',
    'Body' => '%date% - %message%. Pro více informací shlédněte error log.',
));

Což zajistí vše, co je potřeba. Pro zalogování výjimek v případě, že se spustí error presenter pak jeho shutdown metoda vypadá takto:

protected function shutdown($e) {
	Debug::exceptionHandler($this->params['exception']); //exit called here
}
Dj_Oggy
Člen | 67
+
0
-

Diky za info

Editoval Dj_Oggy (14. 9. 2009 16:25)