Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 240 → Rev 241

/trunk/framework/Log.php
4,59 → 4,45
* Classe permettant de logger des messages dans les fichier situés dans le dossier de log.
*
* @category PHP 5.2
* @package Framework
* @author aurelien <aurelien@tela-botanica.org>
* @copyright 2009 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @version SVN: $Id$
* @link /doc/framework/
* @package Framework
* @author Aurélien PERONNET <aurelien@tela-botanica.org>
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version $Id$
* @link /doc/framework/
*/
 
class Log {
 
/**
* Boolean indiquant si l'on doit utiliser les logs ou pas
*/
/** Boolean indiquant si l'on doit utiliser les logs ou pas. */
private static $logger = false;
 
/**
* Tableau associatif stockant les descripteurs de fichiers
*/
/** Tableau associatif stockant les descripteurs de fichiers. */
private static $fichiersLog = array();
 
/**
* Chemin de base du dossier log de l'application
*/
/** Chemin de base du dossier log de l'application. */
private static $cheminLogs = '';
 
/**
* Booleen indiquant si l'on peut correctement écrire dans les fichiers de logs
*/
/** Booleen indiquant si l'on peut correctement écrire dans les fichiers de logs. */
private static $droitLogger = true;
 
/**
* Zone horaire (pour éviter des avertissements dans les dates)
*/
/** Zone horaire (pour éviter des avertissements dans les dates). */
private static $timeZone = 'Europe/Paris';
 
/**
* Taille maximum d'un fichier de log avant que celui ne soit archivé (en octets)
*/
/** Taille maximum d'un fichier de log avant que celui ne soit archivé (en octets). */
private static $tailleMax = 10000;
 
/**
* séparateur de dossier dans un chemin
*/
/** séparateur de dossier dans un chemin. */
private static $sd = DIRECTORY_SEPARATOR;
 
/**
* Extension des fichiers de log
*/
/** Extension des fichiers de log. */
private static $ext = '.log';
/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/
private static $parametres_obligatoires = array('chemin_logs', 'i18n_timezone', 'fw_taille_max_logs', 'fw_log_debogage');
 
/**
* Initialiser les logs par défaut, sans tenir comptes des paramêtres de config.
*/
/** Initialiser les logs par défaut, sans tenir comptes des paramêtres de config. */
public static function initialiser() {
// gestion de la timezone pour éviter des erreurs
if (function_exists('date_default_timezone_set') && function_exists('date_default_timezone_get')) {
68,11 → 54,9
}
}
/**
* Configure le Log à partir des paramêtres de config.
*/
/** Configure le Log à partir des paramêtres de config. */
public static function configurer() {
self::$sd = Config::get('ds');
Config::verifierPresenceParametres(self::$parametres_obligatoires);
self::$cheminLogs = Config::get('chemin_logs');
self::$timeZone = Config::get('i18n_timezone');
self::$tailleMax = Config::get('fw_taille_max_logs');
86,7 → 70,7
*/
public static function ajouterEntree($nomFichier, $entree, $mode = 'a+') {
if (self::$droitLogger) {
$date = "\n"."\n".date('d m Y H:i')."\n" ;
$date = "\n\n".date('d m Y H:i')."\n" ;
 
if (self::verifierOuvrirFichier($nomFichier, $mode)) {
fwrite(self::$fichiersLog[$nomFichier], $date.$entree);
155,9 → 139,7
GestionnaireException::gererException($e);
}
 
/**
* destructeur de classe, ferme les descripteurs ouverts
*/
/** Destructeur de classe, ferme les descripteurs ouverts. */
public function __destruct() {
foreach(self::$fichiersLog as $nomFichier => $fp) {
fclose($fp);