Na produkci se nelogují chyby

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

Ahoj,
řeším problém s logováním chyb na produkci, se kterým si moc nevím rady. Mám chybu, která končí na error 500, normálně se mi zobrazí error presenter – potud v pohodě. Nicméně v logu není vůbec nic, ani html soubor s výjimkou, ani záznam v error.log . Složka log má nastavená potřebná oprávnění, rekurzivně. Nenapadá mě, co by ještě mohlo být špatně. Edit: Nette 2.2.

config.production:

nette:
	application:
		errorPresenter: 'Error'
		catchExceptions: TRUE

bootstrap:

use Nette\Configurator;

require __DIR__ . '/misc/functions.php';
require __DIR__ . '/../vendor/autoload.php';

define('LOG_DIR', __DIR__ . '/../log');
define('WWW_DIR', __DIR__ . '/../www/');

$configurator = new Configurator;

// Enable Nette Debugger for error visualisation & logging
$configurator->setDebugMode(['moje IP']); # $configurator->setDebugMode(FALSE); se chová stejně, zobrazí se mi debug bar, ale jinak žádný rozdíl
$configurator->enableDebugger(LOG_DIR);

// Enable RobotLoader - this will load all classes automatically
$configurator->setTempDirectory( __DIR__ . '/../temp' );
$configurator->createRobotLoader()
    ->addDirectory(__DIR__)
    ->addDirectory(__DIR__ . '/../vendor')
    ->register();

/* on local server load local settings else load production settings */
$local = ($_SERVER['REMOTE_ADDR'] == '127.0.0.1' || $_SERVER['REMOTE_ADDR'] == '::1')
|| strpos($_SERVER['REMOTE_ADDR'], '192.168.') === 0;

if($local){
    $configurator->addConfig(__DIR__ . '/config/config.local.neon');
} else {
    $configurator->addConfig(__DIR__ . '/config/config.production.neon');
}
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');

$container = $configurator->createContainer();
return $container;

Editoval chikeet (26. 3. 2015 15:54)

ic
Člen | 430
+
0
-

A žádné chyby se nelogují, nebo jen určitý typ ?

chikeet
Člen | 160
+
0
-

Vůbec žádné. Vyhodí se výjimka, přesměruje se na error presenter, ale nikde nic, z čeho by se dalo zjistit, co se vlastně stalo – ani html v logu, ani záznam v error.log . Web už je pár týdnů v provozu, ale log zeje prázdnotou.

ic
Člen | 430
+
0
-

Tak to pak bude tím, že je aplikace v Development módu, takže se chyby hned vypisují… kdyby byla v production ($configurator->setDebugMode($configurator::NONE);), tak se nevypisují, ale místo toho logují. Jak ale dosáhnout toho, aby se vypisovaly a logovaly zároveň netuším :(

Jan Tvrdík
Nette guru | 2595
+
0
-

Jak vypadá error presenter? Máš v něm napsané správně logování?

chikeet
Člen | 160
+
0
-

Nene, ta výjimka se vyhodí, ale uživateli se nezobrazí – omlouvám se, špatně jsem se vyjádřila. Uživateli se zobrazí jen error presenter.

chikeet
Člen | 160
+
0
-

To je ono, díky moc. Problém byl v tom, že jsem netušila, že se to tam musí napsat ručně, tak nějak jsem čekala, že se to v ErrorPresenteru děje automaticky.