109 votes

Cadre de journalisation PHP ?

Je suis à la recherche d'un framework PHP simple de journalisation. Ce dont j'ai besoin est quelque chose de simple à intégrer dans notre projet PHP, permettant à un fichier de configuration d'indiquer ce qui doit être enregistré (INFOrmation, DEBUGging, etc.) et où l'enregistrer (MySQL, syslog, fichier de log...).

J'ai vu que dans Java vous avez log4j et pour .NET vous avez log4net . En PHP, certains projets commencent à imiter ces derniers (voir log4php y log5php ) mais les deux ne sont pas encore assez matures.

Gracias

52voto

shaiss Points 871

KLogger est le meilleur jusqu'à présent http://codefury.net/2008/07/klogger-a-simple-logging-class-for-php/

KLogger sur github

46voto

Johnny Broadway Points 441

Je n'ai vu personne mentionner Monologue encore, qui est assez étendu et utilisé par Symfony2, et il y a aussi Analogique dans la catégorie MicroPHP (disclaimer : je suis l'auteur d'Analog).

25voto

PiTheNumber Points 8264

Vue d'ensemble :

  • kLogger : Très simple, mais n'enregistre que dans un fichier.
  • Zend_Log : Nice logger, mais peut-être pas facile pour extraire de Zend Framework (je n'ai pas essayé).
  • Monologue : Supporte de nombreuses destinations de journalisation (SwiftMail, Syslog, Browser, ..) mais nécessite PHP 5.3+.
  • Apache Log4PHP : Beaucoup de fonctionnalités, facile à étendre et à personnaliser, mais gros.

Cela dépend de ce dont vous avez besoin et de ce que vous avez.

Si vous n'avez besoin que d'un simple fichier journal, vous pouvez simplement prendre kLogger. Si vous avez besoin de plus de fonctionnalités, cela dépend de ce que vous avez : Zend => Zend_Log, PHP 5.3 => Monolog ?

23voto

Christian Points 1553

Apache log4php a fait sa première version en 2009 :

http://logging.apache.org/log4php/

et quatre autres ont suivi.

Il a migré hors de l'incubateur Apache et est un sous-projet d'Apache Logging. Il est également activement maintenu et stable et supporte les Appenders, Layouts, Filters, Renderers comme l'inspiration log4j.

Pendant ce temps, beaucoup de code a été modifié pour être plus dans la manière "php" plutôt que la manière "java". Par exemple, la configuration par tableau PHP est supportée.

Vous pouvez l'obtenir par téléchargement direct à partir de la page principale, mais aussi via Composer et Poire. Pour des instructions détaillées, voir la page du manuel .

Le cadre de travail est passé récemment de SVN à GIT et prend en charge un système de gestion de l'information. Miroir de GitHub . Il y a un mouvement vers un support complet des espaces de noms et de php 5.4 en général, alors que.

12voto

dcousineau Points 1646

Zend Framework possède une classe de journalisation agréable Zend_Log . Zend_Log vous permet de définir un Écrivain , Filtre et un Formateur ce qui devrait vous donner un contrôle assez robuste.

Je ne peux pas penser à ses dépendances dès le départ, mais si vous décidez de l'utiliser, il est rapide et facile à utiliser et le Zend Framework est livré avec un module de gestion de l'environnement. Écrivain qui utilise le composant Zend_Wildfire ( FirePHP ), ce qui vous permettrait de vous connecter directement à Firebug dans votre navigateur.

Le seul problème est que vous devrez passer un certain temps à extraire les classes de journalisation du Zend Framework, mais cela ne devrait pas être trop difficile. S'il n'y a pas de dépendances majeures, vous pouvez simplement récupérer le fichier Log.php y el Log\ à partir du téléchargement de Zend Framework.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X