Plugin KO Classe ou fonction non trouvée

Je trouve aussi qu’il y a du mieux !
Pour clôturer ce off topic : attention je parlais de drupal pour faire un parallèle entre « fait maison » ou « réutilisation de briques existantes » (build vs buy en quelques sortes). Et donc je pensais plutôt à Symfony (framework) ; un CMS (Drupal) n’est en effet pas adapté du tout :sweat_smile:
HA n’est pas du tout sur le même language donc je pense que technologiquement la comparaison s’arrête très tôt; philosophiquement parcontre il y a débat !

Belle journée

Drupla ou symphony c’est pareil c’est existe aussi en python (langage de HA), des framework yen a dans tous les domaines mais c’est souvent fait pour des applications/site web de gestion. Dans la domotique ou on est plus sur des actions (scénario) qui doivent etre rapide et peut consommatrice (on tourne pas sur des serveurs) les framework ne sont pas adaptés.

J’ai parlé de Symfony, on peut aussi parler de Laravel et son excellente gestion des jobs, couplé à Redis également pour la gestion du cache, enfin pas mal de choses possibles mais les gouts les couleurs… :smiley:

Je laisse ce sujet se cloturer mais j’en profite @Loic un dernier off topic sur le off topic : L’abandon de monolog/monolog lève une exception dans le core (alpha), dans la class log.class.php (L466) elle même, qui est chargé très tôt dans le core ; elle est catchée :wink: mais le nettoyage a été un peu trop extrème visiblement ! Abandonner des librairies stables c’est bien, mais sacré défi d’assurer la même robustesse, je vois des TestCase dans le code mais ça concerne … monolog ; à devenir chèvre !
NB : je ne peux pas poster dans la section Salon des Bêta-Testeurs Core V4 ; est-ce que le github est plus approprié pour ce genre de remonté ?

Merci

Redis c’est top mais nettement moins rapide que le cache de jeedom.

Pour l’erreur je regarde

Pour la maintenance comme dit j’ai remplacé monolog par même pas 50ligne de code. Et la partie active (écrire dans le log) c’est exactement 3 lignes. Autant te dire que j’ai grandement simplifier la maintenance.

J’utilise Monolog car mon plugin envoie des logs sur plusieurs files. Comment obtenir la même fonctionnalité sans Monolog ?

sinon pour Guzzle au vu de mon usage je pense passer sur cURL.

Bonjour
La fonction log add gere sans soucis n’importe quelle nom de fichier depuis le début. Je comprends pas trop le soucis

ça vient de là :

Depuis ca a été corrigé

1 « J'aime »

il reste encore un souci :

log::add('wifilightV2_cmd','debug','    ID1/2 : '.dechex($this->_ID1).' '.dechex($this->_ID2));
log::add('wifilightV2','debug','    ID1/2 : '.dechex($this->_ID1).' '.dechex($this->_ID2));

Le premier est KO, le second est OK

Faut detailler plus, quel version du core ? que veut ok/ko ? Je viens de tester sur 3 jeedom en 4.5 avec ton code aucun soucis j’ai bien les logs.

je suis sur la dernière 4.4
de temps en temps le code est Ok (ça marche), de temps en temps c’est KO (ça marche pas), ceci pour un même fichier qui contient une classe tout le temps KO ou tout le temps OK selon.

Ca veut dire quoi ko ? ca veut dire ca écris pas dans le log ? le log est pas la ? ca écris pas tout ?

Tu es dev tu dois savoir que pour les bugs faut détailler non ? Aller chez ton mécano poser la voiture et dire ca marche pas il arrivera pas a la réparer.

J’ai pris le plugin template, j’ai ajouté ceci :

   public function preInsert() {
		log::add('template_cmd','debug','    AAAA');
		log::add('template','debug','    AAAA');
		log::add('templateV3','debug','    BBBB');
        
    }

    public function postInsert() {
		log::add('template_cmd','debug','    AAAA');
		log::add('template','debug','    AAAA');
		log::add('templateV3','debug','    BBBB');
        
    }

    public function preSave() {
		log::add('template_cmd','debug','    AAAA');
		log::add('template','debug','    AAAA');
		log::add('templateV3','debug','    BBBB');
        
    }

    public function postSave() {
		log::add('template_cmd','debug','    AAAA');
		log::add('template','debug','    AAAA');
		log::add('templateV3','debug','    BBBB');
        
    }

    public function preUpdate() {
		log::add('template_cmd','debug','    AAAA');
		log::add('template','debug','    AAAA');
		log::add('templateV3','debug','    AAAA');
        
    }

    public function postUpdate() {
		log::add('template_cmd','debug','    AAAA');
		log::add('template','debug','    AAAA');
		log::add('templateV3','debug','    AAAA');
        
    }

    public function preRemove() {
		log::add('template_cmd','debug','    AAAA');
		log::add('template','debug','    AAAA');
		log::add('templateV3','debug','    AAAA');
        
    }

    public function postRemove() {
		log::add('template_cmd','debug','    AAAA');
		log::add('template','debug','    AAAA');
		log::add('templateV3','debug','    AAAA');
        
    }

Seul le log template est créé, pas les 2 autres :

ici : le plugin template modifié :

grosfi.ch/kuEt3TTZ22j

et concernant mes remarques ci-dessus marche/marche pas. Seul Monolog arrive à écrire dans le log autre que <nom_du_plugin>

Bonjour
Dans analyse log tu as ton log ? Attention avant la 4.5 les log avec des _ ne tombait pas dans le niveau de log du plugin mais dans celui globale. La suppression de monolog permet justement de gérer correctement ce type de log

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.

Je suis en 4.4.15
dans le plugin de test ci-dessous (téléchargeable via grosfichiers)

grosfi.ch/kuEt3TTZ22j

il y a les logs suivants lors de la création/suppression/etc de périphériques:

	log::add('template_cmd','debug','    AAAA');
	log::add('template','debug','    AAAA');
	log::add('templateV3','debug','    BBBB');

seul le premier crée la file de logs et les autres pas de création et évidemment pas d’écriture :

Relis mon message tout est dedans les explication la correction possible en 4.4 et les evolutions a venir la dessus

Désolé je n’ai pas compris :
template_cmd pas affiché : bogue connu. OK pour moi
templateV3 pas affiché , je n’ai pas compris quelle solution apporter.