/** * Appelle la fonction log de la stratégie qui convient * * @param String $chaine * @param String $level */ public static function log($chaine, $pType = "default", $pLevel = self::INFORMATION, $arExtra = array()) { if (!self::$_lock) { self::$_lock = true; try { $profils = array(); foreach (self::getProfiles($pType) as $profil) { if ($profil['level'] <= $pLevel && self::_enabled($profil['name'])) { $profils[] = $profil; } } if (count($profils) > 0) { self::_fillExtra($arExtra); foreach ($profils as $profil) { try { self::_getStrategy($profil['strategy'])->log($profil['name'], $pType, $pLevel, date('YmdHis'), $chaine, $arExtra); } catch (Exception $e) { // Perd le log ET ignore l'exception } } } } catch (Exception $e) { self::$_lock = false; throw $e; } self::$_lock = false; } }