J'ai un petit soucis actuellement. Pour les besoins d'un projet, j'ai créé en PHP un classe pour mes logs, la voici :
Class Logger {
var $_file = null;
// --- Possoble mode value :
// --- 0 = error mode (error traces)
// --- 1 = debug mode (error + debug traces)
var $mode = null;
var $nb_log = null;
var $list_log = null;
function Logger ( $file, $mode ){
$this->_file = $file;
$this->mode = $mode;
$this->nb_log = 0;
}
function addLogMessage ( $logMessage ){
$this->list_log[$this->nb_log] = $logMessage;
$this->nb_log++;
}
function clearLogs ( ){
for ($i = 0; $i < $this->nb_log; $i++ )
unset($this->list_log[$i]);
$this->nb_log = 0;
}
function writeLogFile ( ){
// --- Open the log file (read/write)
$fp = fopen($this->_file,"r+");
// --- Go to the begin
fseek($fp,0);
// --- Write the message in the file
for ( $i = 0; $i < $this->nb_log; $i++ ){
fputs($fp,$this->list_log[$i]."\r\n");
}
// --- Close the log file
fclose($fp);
}
}
Une classe toute simple donc. J'ai le probleme suivant : Au début d'un script, je créé une instance de cette classe :
$logger = new Logger("./log.txt",1);
Puis au cours de mon script, j'y fais appel pour mettre des messages d'erreur, warning, etc..
$logger->addLogMessage("toto part en vacances");
Et enfin, à la fin de mon script (ou en cas d'erreur), j'écris ces logs dans un fichiers texte (log.txt) :
$logger->writeLogFile();
Le hic c'est que rien ne s'affiche dans mon fichier texte, alors que les message sont bien ajoutés dans la liste de l'objet Logger.
Pourriez-vous tester chez vous cette classe pour savoir si cela vient uniquement de chez moi ou pas ? Car il y a 3 jour tout marchait bien, et maintenant je n'ai plus rien :s
Merci :)
