JLog, où sortent les avertissements ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] JLog, où sortent les avertissements ?

    Bonjour,

    En regardant un peu le code de la librairie de Joomla, j'ai remarqué qu'il y avait souvent des avertissements envoyé grâce à la méthode JLog::add()

    Je me demandais où je pouvais trouver ces avertissements. J'ai regardé dans les fichiers du répertour logs, je ne trouve que des messages d'authentification ratés...

    Où trouver ces avertissements ?
    Dernière édition par al1pb à 11/06/2013, 10h09
    Un peu de pub: http://www.aplomb.ch

  • #2
    Re : JLog, où sortent les avertissements ?

    Salut,
    est-ce que ceci t'aiderait ?

    Using JLog - Joomla! Documentation
    Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

    Commentaire


    • #3
      Re : JLog, où sortent les avertissements ?

      Salut Ghazal,

      Merci beaucoup pour ta réponse.

      J'avais déjà vu cet article avant de poser la question. Il décrit comment créer des messages avec la classe JLog, mais ne dis pas où ils sont écris.

      Ca doit être tous simple, mais je ne trouve pas... C'est domage, car il y a beaucoup d'avertissements qui m'aideraient à améliorer mes codes...
      Un peu de pub: http://www.aplomb.ch

      Commentaire


      • #4
        Re : JLog, où sortent les avertissements ?

        Il y en a un exemple dans les fichiers mysql comme celui-ci :

        /libraries/joomla/database/database/mysql.php
        JLog::add(JText::sprintf('JLIB_DATABASE_QUERY_FAIL ED', $this->errorNum, $this->errorMsg), JLog::ERROR, 'database');
        ou dans des fichiers comme registry.php (libraries/joomla/registry/registry.php)
        parce que, je suppose, la class JRegistry est fondamentale et que certaines fonctions sont obsolètes, genre :
        JRegistry::getValue()

        JLog::add('JRegistry::getValue() is deprecated. Use get instead.', JLog::WARNING, 'deprecated');
        Mais les Strict Standards et autres Notices ne suffisent pas ?

        PS: un bon éditeur de code avec une fonction recherche dans le texte des fichiers est indispensable dans ce cas
        Dernière édition par ghazal à 10/06/2013, 13h54
        Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

        Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

        Commentaire


        • #5
          Re : JLog, où sortent les avertissements ?

          Re,

          Donc, je devrais recevoir des erreurs (Exceptions) via les avertissements de php ?

          Je me met en Rapport d'erreurs sur développeur (dans les config de Joomla,
          j'ai, dans php.ini : error_reporting = E_ALL | E_STRICT

          Avec cette configuration, j'affiche les erreurs de type Strict Standards, mais je n'ai pas les avertissements de méthodes dépréciées, comme tu les mets dans ton message précédent..

          Encore merci Alain
          Un peu de pub: http://www.aplomb.ch

          Commentaire


          • #6
            Re : JLog, où sortent les avertissements ?

            Bonjour

            Envoyé par al1pb Voir le message
            Avec cette configuration, j'affiche les erreurs de type Strict Standards, mais je n'ai pas les avertissements de méthodes dépréciées, comme tu les mets dans ton message précédent..
            Dans le gestionnaire des plugins Joomla, sélectionne ton plugin System - Debug et affiche ses paramètres. Tu pourras activer les erreurs pour les fonctions dépréciées.

            Bye
            Christophe (cavo789)
            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

            Commentaire


            • #7
              Re : JLog, où sortent les avertissements ?

              Bonjour

              Envoyé par cavo789 Voir le message
              Dans le gestionnaire des plugins Joomla, sélectionne ton plugin System - Debug et affiche ses paramètres. Tu pourras activer les erreurs pour les fonctions dépréciées.
              Merci Cavo,
              Je ne connessais pas ce plugin...
              C'est impressionnant de voir l'utilisation massive de toutes ces classes dépréciées...

              Dans mon message précédent, j'ai voulu détourner une erreur que je provoquais dans joomla. Après, j'ai voulu l'intercepter avec un try{ mon code qui plante}catch(Exception $e){code à exécuter si ça plante}
              Je ne l'ai pas résolu, car la partie catch{} n'étais jamais exécuté...
              Sais-tu où je peux trouver des explications ?

              Encore merci a+
              Un peu de pub: http://www.aplomb.ch

              Commentaire


              • #8
                Re : JLog, où sortent les avertissements ?

                Hello,

                Concernant l'utilisation du Logger Joomla, je l'utilise pour tracer des messages dans des fichiers de log.

                je code une seule fois la creation du logger :
                Code PHP:
                JLog::addLogger//once only
                    
                array(
                        
                'text_file' => 'mon_logfile.log.php',
                        
                'text_file_path' => JPATH_ROOT.DS.'logs',
                        
                'text_entry_format' => '{DATE} {TIME} {CLIENTIP} {UID} {CATEGORY} {MESSAGE}' 
                    
                )
                ); 
                Dans ce cas cela crée un fichier de log dans <racine du site>/logs/mon_logfile.log.php
                (je mets un .php à la fin pour eviter de laisser accessible le fichier de log a qui veut !)

                Puis dans le code j'appelle autant de fois que souhaité l'ecriture de log :
                Code PHP:
                $logEntry = new JLogEntry("mon message d'erreur"JLog::INFO'com_moncompo');
                $user JFactory::getUser();
                $logEntry->uid $user->id;
                JLog::add($logEntry); 
                Ca me donne un fichier avec :
                Code:
                2013-06-11 08:57:15 127.0.0.1 63 com_moncompo mon message d'erreur
                D'autres info et des explications sur le "text_entry_format" sont dispo sur le nouvel espace de documentation du JPlatform (Git MarkDown) :
                Dernière édition par garstud à 11/06/2013, 08h07
                Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
                « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
                c’est parce que nous n’osons pas qu’elles sont difficiles. »
                - Sénèque

                Commentaire


                • #9
                  Re : JLog, où sortent les avertissements ?

                  Bonjour,

                  Merci Garstud pour ta réponse complète.

                  Donc, si je comprends bien, la classe JLog est surtout utile quand on fait une extension pour dans des points de contrôle durant le fonctionnement, un peu comme un console.log en javascript.

                  Je voyais un peu cette classe pour écrire les erreurs mineurs et avertissements que Joomla créais automatiquement...
                  Un peu de pub: http://www.aplomb.ch

                  Commentaire


                  • #10
                    Re : JLog, où sortent les avertissements ?

                    al1pb, en fait bien au contraire

                    La console JS est effectivement une assistance au debug (meme si on peut aller plus loin avec)
                    Alors que le Logger de Joomla est un vrai outil de trace de l'activité à intégrer à son dev.

                    A l'instar de technologies comme Java ou .Net, la notion de Logger formatté (date, time, IP, UID, ...) doit être inclus dans vos devs afin de pouvoir tracer les actions réalisées par les users ainsi que les warning et les erreurs rencontrés.
                    Ainsi ce ne sont pas que les erreurs qui doivent être tracées, mais aussi les info importantes de fonctionnement (comme le fait Apache avec son access.log, en plus du error.log).

                    On peut meme aller plus loin ... cette log peut etre "monitorée" par le client (ou son administrateur applicatif) et permettre de recevoir automatiquement des alerts par mails ou SMS selon les situations !
                    (plantage d'un traitement, service inaccessible, accès au composant piraté ...)

                    Perso, j'implemente cette log dès que j'intègre des traitements métiers complexes du client ou des traitements batch qui méritent de pouvoir etre consultés après coup
                    Dernière édition par garstud à 11/06/2013, 11h15
                    Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
                    « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
                    c’est parce que nous n’osons pas qu’elles sont difficiles. »
                    - Sénèque

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X