Bonjour


Je galère depuis quelque temps avec mon système de log sous ZF.
La plus part du temps les exception sont correctement trappées et logué mais parfois ca ne marche pas et j'ai comme message de log : "EXCEPTION_OTHER-Bad log priority"

Et chaque fois je suis obligée de rechercher ou est le problème en ajoutant des sorties debug ("je suis passée par ici") sur mon log jusqu'a trouver où se situe l'erreur.

Dans le cas qui me préoccupe, j'ai des try catch partout et j'ai une exeception qui est levée dans un appel
Je sais pourquoi ca plante (il me manque le rôle dans le fichier ini).
Cet appel est entouré d'un try catch mais visiblement il n'est pas catché et c'est au final le preDispatch du plugin Auth de mon controller qui intercepte le error_handler dans le bout de code suivant.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public function preDispatch(Zend_Controller_Request_Abstract $request)	{
		if (!$this->_auth->hasIdentity())	{
			$role = 'guest' ;
		} else {
			$authNamespace = new Zend_Session_Namespace('Zend_Auth');
			$user = $authNamespace->user;
 
			if (isset($user)) {
				$role = $user->getRole() ;
			} else {
				$role ='guest';
			}
 
		}
 
		if (!$this->_acl->isAllowed($role, $this->_request->controller,$this->_request->action) && is_null($request->getParam('error_handler'))) {
 
			$this->_flashMessenger->addError("notconnected");
			Zend_Registry::get("logger")->debug("echec acces authent sur  : ".$user->login."-".$role."-". $this->_request->controller."-".$this->_request->action);
			$redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');
			$redirector->gotoUrl('/');
 
		} else if (!is_null($this->_request->getParam('error_handler'))) {
			$this->_flashMessenger->addError("erreur_action");
 
			Zend_Registry::get("logger")->debug("echec acces authent sur erreur  : ".$user->login."-".$role."-". $this->_request->controller."-".$this->_request->action."-".$this->_request->getParam('error_handler')->type."-".$this->_request->getParam('error_handler')->exception->getMessage());
			$redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');
			$redirector->gotoUrl('/');
		}
	}

Je voudrai comprendre pourquoi l'erreur sort de ma chaine d'appel et n'est pas trappé correctement par les try/catch
Et comment faire pour régler ce problème car ca rend le debug impossible.



Mes bloc try catch sont tous comme ca :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
try {
....
} catch (Zend_Exception $e) {
		Zend_Registry::get("logger")->error(get_class($this)." (". __LINE__.") : ".$e->getMessage());
}

Merci d'avance pour votre aide