Bonjour à tous,

J'ai un problème étrange avec log4php. J'ai un fichier "workshop.php" qui est appelé par la plupart des pages de mon site. Il contient toutes les fonctions utilisés par les différentes. Pour certaines fonctions, je ne parviens pas à écrire dans le fichier de logs, alors que cela fonctionne pour d'autre fonction plus haut dans le code. Je n'ai pas trouvé de message d'erreurs quelque part qui pourrait expliquer le début du problème, si quelqu'un a déjà rencontré ce problème, ca m'intéresserais de savoir s'il l'a résolu ?

Voici le code de la fonction ou rien n'est tracé dans les logs :
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
31
32
33
34
35
36
37
 
function SaveParam($nom,$valeur,$id_meteo,$id_module, $id_chapitre, $id_position) {
  $log = Logger::getLogger('rootLogger');
  $log->trace('@SaveParam - Entree');
 
  $req_insert_param = "INSERT INTO MS_Parametre (PAR_ID, PAR_NOM, PAR_VALEUR, PAR_MOD_ID) VALUES ('','".$nom."', '".$valeur."',".$id_module.")";
 
  $log->debug("@SaveParam - requete : ".$req_insert_param);
 
  $link = mysql_connect(ip_base, user_base, user_mdp);
  mysql_select_db(bdd, $link);
  $result = mysql_query($req_insert_param, $link) or trigger_error('Erreur dans la requete : '.$req_insert_param."\n".mysql_error($link), E_USER_ERROR);
  $par_id = mysql_insert_id($link);
  $log->debug("@SaveParam - ID du parametre cree : ".$par_id);
 
  // Il faut gerer le cas ou un parametre existe déja
  $req_check_if_params_already_here = "SELECT PAR_ID from MS_Depend WHERE MET_ID=".$id_meteo." AND MOD_ID = ".$id_module." AND MOD_CHAP=".$id_chapitre." AND MOD_POS=".$id_position.";";
  $result_test = mysql_query($req_check_if_params_already_here);
  // Vérifions qu'il n'y ait qu'une ligne et que l'id est différent de 0
  $num_rows = mysql_num_rows($result_test);
  if($num_rows == 0) {
    $log->error("Aucune combinaison meteo/module/chapitre/position pour ce parametre !");
  } elseif($num_rows == 1) {
    if($result_test[0] == 0) {
      $req_insert_depend = "UPDATE MS_Depend SET PAR_ID=".$par_id." WHERE MET_ID=".$id_meteo." AND MOD_ID = ".$id_module." AND MOD_CHAP=".$id_chapitre." AND MOD_POS=".$id_position.";";
    } else {
      $req_insert_depend = "INSERT INTO MS_Depend (MET_ID, MOD_ID, MOD_CHAP, MOD_POS, PAR_ID) VALUES (".$id_meteo.",".$id_module.",".$id_chapitre.",".$id_position.",".$par_id.')';
    }
  } else {
      $req_insert_depend = "INSERT INTO MS_Depend (MET_ID, MOD_ID, MOD_CHAP, MOD_POS, PAR_ID) VALUES (".$id_meteo.",".$id_module.",".$id_chapitre.",".$id_position.",".$par_id.')';
  }
 
  //$req_insert_depend = "UPDATE MS_Depend SET PAR_ID=".$par_id." WHERE MET_ID=".$id_meteo." AND MOD_ID = ".$id_module." AND MOD_CHAP=".$id_chapitre." AND MOD_POS=".$id_position.";";
  $log->debug("@SaveParam - requete : ".$req_insert_depend);
  $result = mysql_query($req_insert_depend, $link) or trigger_error('Erreur dans la requete : '.$req_insert_depend."\n".mysql_error($link), E_USER_ERROR);
  $log->trace("@SaveParam - Sortie");
  return $par_id;
Et voici le code d'une fonction décrite plus haut dans le fichier et qui fonctionne :
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
function AfficheStatusTTMeteo() {
  $log = Logger::getLogger('rootLogger');
  $log->trace("@AfficheStatusTTMeteo - Entree");
  $req_TTMeteo_OK = "SELECT * FROM MS_Meteo WHERE MET_REXEC=0 AND MET_Status=2";
  $req_TTMeteo_KO = "SELECT * FROM MS_Meteo WHERE MET_REXEC=1 AND MET_Status=2";
  $req_TTMeteo = "SELECT COUNT(*) FROM MS_Meteo";
 
  $link = mysql_connect(ip_base, user_base, user_mdp);
  mysql_select_db(bdd, $link);
  $nb_KO = mysql_query($req_TTMeteo_KO, $link);
  $nb_OK = mysql_query($req_TTMeteo_OK, $link);
  $retour = mysql_query($req_TTMeteo, $link);
 
  echo "<p><ul>";
  echo "\n\t<li>Nombre de m&eacute;t&eacute;o existantes : ".  mysql_result($retour,0)."</li>";
  echo "\n\t<li>Nombre de m&eacute;t&eacute;o OK : <b><font color='green'>".mysql_num_rows($nb_OK)."</font></b></li>";
  echo "\n\t<li>Nombre de m&eacute;t&eacute;o KO : <b><font color='red'>".mysql_num_rows($nb_KO)."</font></b></li>";
  echo "</ul></p>";
 
  mysql_close($link);
  $log->trace("@AfficheStatusTTMeteo - Sortie");
}