IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Différents niveaux de journal d'erreur


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Points : 101
    Points
    101
    Par défaut Différents niveaux de journal d'erreur
    Bonjour,

    Au sein de mon projet pour la gestion des erreurs et le debugging, j'utilise le système de log de PHP :
    - J'ai configuré les niveaux d'erreurs dans mon fichier php.ini via error_reporting (tout se passe bien j'ai bien les messages souhaités générés par PHP)
    - J'utilise aussi la méthode error_log pour écrire dans mon fichier log d'autres infos (échec d'appel à une API, messages de debug, etc). Tout se passe comme je le souhaite.

    Ce que je souhaite faire, c'est fixé des niveaux aux messages que je génère avec la méthode error_log().
    Par exemple :
    Pour les messages de debug, je fixe le niveau E_USER_NOTICE.
    Pour les cas des échecs d'appel à des API, je fixe le niveau E_WARNING.

    Ainsi selon ma conf de développement (si j'ai placé le flag E_USER_NOTICE), je verrai les messages de debug. Et dans ma conf de production (où je n'aurai pas placé ce flag), je ne verrai pas les messages de debugs mais je verrais quand même les autres messages.

    Le problème c'est que la fonction error_log() ne permet pas de fixer un error level aux messages. J'ai vu la fonction trigger_error() mais hélas celle-ci n'écrit rien du tout dans mon fichier de log quelque soit les paramètres que je lui ai mis ?!

    J'espère ne pas avoir été trop brouillon dans l'expression de mon problèmes.

    Quelqu'un peut-il m'éclairer car je suis un débutant en PHP ?

    Merci d'avance

  2. #2
    Membre éclairé
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Points : 654
    Points
    654
    Par défaut
    http://php.net/intro.errorfunc

    cela répond à ta question ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Points : 101
    Points
    101
    Par défaut
    Oui merci ca a répondu à ma question, mais maintenant j'en ai une nouvelle

    Etant donné la taille de mes logs qui commence à être importante, je souhaite mettre en place un système de rotation de log.

    Je souhaiterai que quand mon fichier dépasse X Mo ou encore mieux changer de fichier de log à chaque nouveau jour.

    J'ai suivi mon (presque) meilleur ami google, et il me conseille d'après mes besoins d'utiliser mod_log_rotate d'Apache :

    http://www.sitebuddy.com/mod_log_rotate

    Cependant, il faut préciser dans la conf apache, quel est le fichier log sur lequel il faut appliquer la rotation. Mais je déclare mon fichier errorlog dans la conf PHP.
    Est-ce que quelqu'un sait comment mettre en place ce que je souhaite faire ou mieux à déjà mis en place mod_log_rotate pour les fichiers de log PHP ?

    Merci d'avance

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Points : 101
    Points
    101
    Par défaut
    Remarque : je ne sais pas si du coup mon post est posté dans le bonne partie du forum ^^

  5. #5
    Membre éclairé
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Points : 654
    Points
    654
    Par défaut
    effectivement, tu utilises les fonctionnalités d'apache, ton post serait donc
    à sa place las-bas :p

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Points : 101
    Points
    101
    Par défaut
    Autre question, est-il possible de faire la rotation des logs directement dans un script PHP car je ne suis pas sur de pouvoir mettre le mod_log_rotate sur les serveurs de prod, ni d'utiliser une commande type "cron".

  7. #7
    Membre éclairé
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Points : 654
    Points
    654
    Par défaut
    si tu as réussis à surcharger ou utiliser une fonction PHP pour gérer tes
    erreurs, alors tu peux faire qqchose comme çà :

    1/ récupérer les fichiers erreurs du dossier (format : erreur-n.xml, n
    étant le numéro du fichier)
    2/ tu récupères le dernier numéro (ex: 5)
    3/ tu regarde la taille de ce fichier (si > à une taille max alors tu crée
    un nouveau fichier erreur-(n+1).xml)
    4/ tu créé ton noeud XML (moi j'aime utiliser simplexml...) error avec
    le contenu et le level
    5: tu sauvegarde (APPEND pour le file_put_contents, et asXML sur le
    noeud XML, enfin tu verras pour les détails :p)

    tu peux le faire avec des objets error dérivant de simplexml si tu veux,
    enfin ya de quoi faire un petit script sympa !

    c'est comme çà que je ferais personnellement.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Points : 101
    Points
    101
    Par défaut
    OK merci encore pour tes conseils, je vais essayer de faire quelque chose dans ce style.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/02/2009, 07h46
  2. Messages du service broker dans le journal d'erreurs
    Par elsuket dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/09/2008, 14h59
  3. Réponses: 1
    Dernier message: 12/08/2007, 09h21
  4. Journal d'erreur: eventlog
    Par eseb777 dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 15/02/2007, 11h55
  5. [VBA-E] Plantage à la fermeture du classeur - création d'un journal d'erreur
    Par sebbyoguard dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 07/09/2006, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo