Formation PUB420 : Système domotique DIY, 2020 Jeedom

5.39 Scénario qui ajoute une entrée dans le fichier journal


Un scénario peut écrire dans un fichier journal afin de vous aider à garder une trace de ce qui s'est passé.

Je vous présente ici quelques techniques pour y parvenir.

Action de type log

La façon la plus facile pour ajouter du texte dans un fichier journal est par une action de type Log.

Ceci écrira dans le log d'exécution du scénario.

  • Dans le scénario, cliquez sur Ajouter / Action.
  • Cliquez sur l'icône Sélectionner un mot-clé.

    Sélectionner un mot-clé

  • Dans la liste déroulante qui apparaît, choisissez Ajouter un log.

    Action de type Log

  • Vous pourrez ensuite préciser le message à enregistrer dans le fichier journal.

    Message à enregistrer

  • Il est également possible d'ajouter des valeurs à votre message, par exemple la valeur d'un capteur (commande de type Info seulement). Il vous faudra entrer vous-même la chaîne qui mène à cette valeur.

    La chaîne est au format #[Objet][Equipement][Commande]#, par exemple #[Cuisine][Capteur Zooz 4-en-1][Luminosité]#.

  • Pour voir le fichier journal du scénario, vous devez cliquer sur l'icône Log dans le haut de la fenêtre d'édition du scénario.

    Log d'exécution du scénario

    Et voilà le résultat :

    Mesasge dans le log d'exécution du scénario

Bloc de code

Un bloc de code est un endroit où il est possible d'ajouter des lignes de code PHP qui seront exécutées lorsque le scénario sera lancé.

Le bloc de code offre plus de possibilités pour écrire dans les fichiers journaux.

Dans le scénario, le bloc de code s'ajoute en choisissant Bloc Code sous Action.

Bloc Code

C'est dans ce bloc de code qu'il est possible d'ajouter une instruction qui écrira dans un fichier journal.

$scenario->setLog()

Tout comme les actions de type Log, la méthode $scenario->setLog() permet d'écrire dans le log d'exécution du scénario.

PHP

$scenario->setLog('Mon message');

N'oubliez pas le point-virgule à la fin de l'instruction. Après tout, c'est du PHP!

log::add()

La méthode log::add() vous permet d'écrire dans un fichier journal de votre choix et de spécifier le niveau de gravité du message.

Si le fichier journal n'existe pas, Jeedom le créera automatiquement avant d'y inscrire votre message. Si le fichier journal existe, votre message sera ajouté à la suite des autres messages de ce fichier.

Syntaxe bloc de code dans scénario (PHP)

log::add('nom_du_fichier_journal', 'niveau_de_log', 'message');

Les paramètres de cette méthode vont comme suit :

  • Le nom du fichier journal peut être n'importe quoi à votre goût. Si le fichier n'existe pas déjà, il sera créé.

    Souvent, on utilisera le fichier nommé alertes pour enregistrer le message dans le log des alertes.

  • Le niveau du log peut être, par ordre de gravité :
    • DEBUG
    • INFO
    • NOTICE
    • WARNING
    • ERROR
    • CRITICAL
    • ALERT
    • EMERGENCY

    Attention : selon les configurations du niveau de log, seuls les messages d'un certain niveau seront enregistrés.

  • En troisième paramètre, inscrivez le message à enregistrer dans le fichier journal.

N'oubliez pas le point-virgule à la fin de l'instruction!

Bloc de code dans scénario (PHP)

log::add('alertes', 'ALERT', 'Mon message');

Voici un exemple de scénario qui illustre les différentes façons d'écrire dans un fichier journal.

Scénario qui écrit dans les logs

Variables dans les messages

Il est possible d'enregistrer un message qui contient des valeurs retrouvées automatiquement par Jeedom.

Pour en savoir plus : « Scénario qui inscrit dans un fichier journal une valeur retrouvée automatiquement (Vous ne possédez pas les droits pour accéder à cette fiche.) ».

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre