salut,

j'utilise PEAR_Error pour remplacer ma classe de gestion des erreurs, mais j'ai du la coupler avec la classe Log afin de gérer tous les cas.

le problème ce pose quand je veux une gestion normal par PEAR_Error avec une constante comme PEAR_ERROR_DIE (censé couper le script), hors des que je définis le setErrorHandling(), le PEAR_ERROR_DIE ne coupe plus le script et je n'ai pas non plus le log de l'erreur


voici un exemple :

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
 
// définition du gestionnaire de Log des erreurs
$conf = array(
'append' => true,
'eol' => "\r\n\r\n",
'lineFormat' => "%{timestamp} [%{priority}]%{message}",
'timeFormat' => '%d/%m/%Y %H:%M:%S'
);
 
$logErreur = &Log::singleton('file', 'erreur.txt', '', $conf, PEAR_LOG_DEBUG);
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'evtErreur');
 
 
 
PEAR::raiseError("PEAR_ERROR_DIE", PEAR_ERROR_DIE);
 
class Test{
    function Test(){
        PEAR::raiseError("PEAR_LOG_DEBUG", PEAR_LOG_DEBUG);
    }
}
$t = new Test();
 
PEAR::raiseError("PEAR_LOG_INFO", PEAR_LOG_INFO);
la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
PEAR::raiseError("PEAR_ERROR_DIE", PEAR_ERROR_DIE);
doit couper le script hors je recupere dans le log les 2 autres raiseError() qui sont aprés le DIE.



comment avoir le comportement normal de PEAR_Error avec en plus le Log de tous les appels a raiseError() ?