begin process at 2012 05 27 18:05:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > POO - LOGGING PACKAGE

POO - LOGGING PACKAGE


 Information sur la source

Note :
Aucune note
Catégorie :Class et Objet ( POO ) Classé sous :Poo, Class, Log, Manager Niveau :Débutant Date de création :13/01/2010 Date de mise à jour :13/01/2010 17:39:09 Vu / téléchargé :2 996 / 169

Auteur : Waredan

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Un ensemble de classe utilisant l'observer design pattern et la SPL pour gérer tout type de log :
- la classe Formatter formate un enregistrement pour supporter tout type de format (HTML, XML, TXT, etc.);
- la classe Handler gère un enregistrement pour un certain niveau d'erreur et le formate à l'aide d'une classe Formatter;
- l'interface Level définit les constantes des niveaux de journaux disponibles.
- la classe Manager gère les Handler et les messages à journaliser (encapsulées dans une classe Record).
- la classe Record contient les informations d'un message à journaliser (date, message, niveau).

1- On commence par attacher un Handler (avec un Formatter et un niveau d'erreur à gérer) à notre Manager.
2- On "log" nos messages.
3- On notifie les Handlers d'inscrire les messages dans les logs.

Source

  • <?php
  • error_reporting(E_ALL);
  • spl_autoload_extensions('.php');
  • spl_autoload_register();
  • set_include_path(
  • realpath(dirname(__FILE__)) . 'Lib' . PATH_SEPARATOR . get_include_path()
  • );
  • date_default_timezone_set('Europe/Paris');
  • $filename = realpath(dirname(__FILE__))
  • . DIRECTORY_SEPARATOR . 'var'
  • . DIRECTORY_SEPARATOR . 'log'
  • . DIRECTORY_SEPARATOR . 'app.log';
  • use \Lib\Logging\Level,
  • \Lib\Logging\Manager,
  • \Lib\Logging\Handler\StreamHandler,
  • \Lib\Logging\Formatter\SimpleFormatter;
  • $file = new StreamHandler($filename);
  • $file->setFormatter(new SimpleFormatter())
  • ->setLevel(Level::ALL);
  • $output = new StreamHandler('php://output');
  • $output->setFormatter(new SimpleFormatter())
  • ->setLevel(Level::ALL ^ Level::DEBUG);
  • Manager::getInstance()
  • ->attach($file)
  • ->attach($output)
  • ->log(Level::ERR, 'Simple test of error message')
  • ->log(Level::DEBUG, 'Simple test of debug message');
  • // prints:
  • // 2010-01-13T17:35:23+01:00 ERR [8] Simple test of error message
  • // the file "/var/log/app.log" contains:
  • // 2010-01-13T17:35:23+01:00 DEBUG [128] Simple test of debug message
  • // 2010-01-13T17:35:23+01:00 ERR [8] Simple test of error message
  • ?>
<?php

error_reporting(E_ALL);

spl_autoload_extensions('.php');
spl_autoload_register();

set_include_path(
    realpath(dirname(__FILE__)) . 'Lib' . PATH_SEPARATOR . get_include_path()
);

date_default_timezone_set('Europe/Paris');

$filename = realpath(dirname(__FILE__))
          . DIRECTORY_SEPARATOR . 'var'
          . DIRECTORY_SEPARATOR . 'log'
          . DIRECTORY_SEPARATOR . 'app.log';

use \Lib\Logging\Level,
    \Lib\Logging\Manager,
    \Lib\Logging\Handler\StreamHandler,
    \Lib\Logging\Formatter\SimpleFormatter;


$file = new StreamHandler($filename);
$file->setFormatter(new SimpleFormatter())
        ->setLevel(Level::ALL);

$output = new StreamHandler('php://output');
$output->setFormatter(new SimpleFormatter())
        ->setLevel(Level::ALL ^ Level::DEBUG);

Manager::getInstance()
    ->attach($file)
    ->attach($output)
    ->log(Level::ERR, 'Simple test of error message')
    ->log(Level::DEBUG, 'Simple test of debug message');

// prints:
// 2010-01-13T17:35:23+01:00    ERR [8] Simple test of error message

// the file "/var/log/app.log" contains:
// 2010-01-13T17:35:23+01:00   DEBUG   [128]   Simple test of debug message
// 2010-01-13T17:35:23+01:00   ERR     [8]     Simple test of error message
?>


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

13 janvier 2010 17:39:09 :
Amélioration de la lisibilité de l'exemple + ajout d'un exemple utilisant la classe StreamHandler pour afficher le log (http://fr.php.net/manual/en/wrappers.php.php).

 Sources du même auteur

POO - OBJECT CLASS
Source avec Zip POO - FACTORY CLASS
POO - SINGLETON CLASS
POO - PARAMETERHOLDER CLASS

 Sources de la même categorie

Source avec Zip GÉNÉRATION AUTOMATIQUE DE FICHIER .CLASS.PHP EN FONCTION D'U... par ig3
CLASSE D'OBJET DE CRYPTAGE ET DÉCRYPTAGE DE CHAINES DE CARAC... par 8Tnerolf8
Source avec Zip MY.DEVIANTART API par inwebo
CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MY.EXCEPTION par inwebo
POO - OBJECT CLASS par Waredan
Source avec Zip POO - FACTORY CLASS par Waredan
POO - SINGLETON CLASS par Waredan
POO - PARAMETERHOLDER CLASS par Waredan

Commentaires et avis

Commentaire de Vasi28 le 30/07/2010 11:49:48

Bonjour !

J'ai un problème !! =}

Voila j'ai un site en ligne et je voudrais y ajouté une zone membre ainsi que des formulaires de calcul automatique de tarifs lié au panier du client.
Pour la zone membre, j'ai déja parametré MySQL grace à ce tuto: http://www.asp-php.net/tutorial/asp-php/creer-un-espace-membre-en-php.php?page=1

Donc pour la page 1 de ce tuto j'ai tout fais, le probleme pour moi ce trouve en page 2 et 3... Je ne n'arrive pas a insérer correctement le codes et j'ai toujours ce meme message d'erreur " LE NOMBRE DE TAGS <NE CORRESPOND PAS AU NOMBRE DE TAGS>"

Auriez vous svp l'amabilité de m'aidé a enfin créer cette espace membre sécurisé et les formlaires de calcul ??

Merci d'avance !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

templates avec poo [ par lesnes ] bonjours je reprogramme totalement mon site en poo et je souhaiterai utiliser les templates mais l'on ne peut pas faire appel a une class exterieur a [POO] Une classe dans une classe [ par Mrreivax ] Bonsoir.Et bien voila. J'ai créé une classe de gestion des images.J'ai par la suité créé une autre classe de gestion de banières.Mais, cette dernière Class POO retourné le nom de l'objet [ par MeTh ] Bonjour,Comment retourné le nom de l'objet déclaré?exemple :$monobjet = new GridR();comment recuperé $monobjet dans ma class?Merci Include, class et array [ par Hades5k ] Bonjour! J'ai un petit problème à utiliser un array dans un fichier que j'inclus... voici un peu le code : &lt;?php $classNames = array(); include_onc pb avec les sessions. [ par Zebra1928 ] bonjour,plz j'ai besoin d'aide, j'ai 1 vrai pb avec les sessions, je m'explique:j le fichier suivant:log.php&lt;?$host="localhost";$user="root";$passw download manager (fireplanet) [ par l0sth34d ] bonjour, je voudrais savoir si quelqu'un connais un endroit pour télécharger un download manager comme fireplanet. Jai beacoup de server et j'aimerais Ce code est t'il bon svp ? [ par Blacknight91titi ] Salut j'aimerais savori pourquoi se code ne vas pas ?enfin pourquoi il n'est pas bonje n'arrive pas a comprendre pourquoi:if ($log == "Pour ProFlor") espace manager [ par galakb2000 ] bonjour, je désire créer un espace manager dans mon site, où la personne peut rajouter des photos sur le site grâce à un formulaire.Je ne sais pas tro Problem d'affichage de resultat de requete sous forme de tableau [ par jbcaiz ] explication : je fais un requete de recherche dans ma base, qui doit normalement me sortir plusieur résultat.je veux que ces résultat s'affiche dans u Serveur SMTP [ par Marion0904 ] Bonsoir, J'essai d'nvoyer des mails en utilisant la class phpmailer (disponible sur&nbsp; http://phpmailer.sourceforge.net/). J'incu la class php mail


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales