Script Batch - Journalisation

Bonjour, aspirants programmeurs ! Aujourd'hui, nous allons plonger dans le monde de la journalisation dans les scripts Batch. En tant que votre enseignant informatique de quartier, je suis excité de vous guider à travers ce sujet essentiel. Faites-moi confiance, une fois que vous maîtriserez la journalisation, vous vous sentirez comme un véritable détective de codage, toujours un pas devant ces vilains bugs !

Batch Script - Logging

Qu'est-ce que la Journalisation ?

Avant de rentrer dans les détails, comprenons ce qu'est la journalisation. Imaginez que vous cuisinez un gâteau (restez avec moi, je promets que cela concerne la programmation !). Vous écrirez probablement chaque étape que vous prenez, n'est-ce pas ? C'est essentiellement ce que fait la journalisation dans la programmation. C'est un moyen d'enregistrer ce qui se passe dans votre script pendant son exécution.

La journalisation vous aide à :

  1. Déboguer votre code
  2. Suivre le déroulement de votre script
  3. Surveiller les performances
  4. Conserver un enregistrement des événements importants

Maintenant, mettons-nous au travail !

Syntaxe

Dans les scripts Batch, la journalisation est principalement effectuée à l'aide de la commande echo et de la redirection de sortie. Voici la syntaxe de base :

echo [message] >> [fichier_journal]

Reprenons cela :

  • echo : Cette commande affiche des messages.
  • [message] : C'est ce que vous souhaitez journaliser.
  • >> : Ce symbole redirige la sortie vers un fichier, en l'ajoutant si celui-ci existe déjà.
  • [fichier_journal] : C'est le nom de votre fichier journal.

Simple, n'est-ce pas ? Mais attendez, il y a plus !

Méthodes de Journalisation

Voici un tableau des différentes méthodes de journalisation que vous pouvez utiliser dans les scripts Batch :

Méthode Syntaxe Description
Ajouter au journal echo [message] >> [fichier_journal] Ajoute le message à la fin du fichier journal
Écraser le journal echo [message] > [fichier_journal] Écrase le fichier journal avec le nouveau message
Empreinte de Date et Heure echo %date% %time% [message] >> [fichier_journal] Journalise avec date et heure
Journalisation des Erreurs commande 2>> [fichier_erreur] Redirige la sortie d'erreur vers un fichier séparé
Journalisation Verbeuse echo [message_détaillé] >> [fichier_verbeux] Journalise des informations plus détaillées

Exemples

Regardons maintenant quelques exemples pour voir ces méthodes en action !

Exemple 1 : Journalisation de Base

@echo off
echo Démarrage du script... >> log.txt
echo Exécution de la tâche 1... >> log.txt
echo Tâche 1 terminée. >> log.txt
echo Script terminé. >> log.txt

Dans cet exemple, nous créons un simple journal de l'avancement de notre script. Chaque commande echo ajoute une nouvelle ligne à notre fichier log.txt.

Exemple 2 : Journalisation avec Date et Heure

@echo off
echo %date% %time% - Démarrage du script >> log.txt
echo %date% %time% - Exécution de tâche importante >> log.txt
ping localhost -n 5 > nul
echo %date% %time% - Tâche terminée >> log.txt

Ici, nous ajoutons des empreintes de date et heure à nos entrées de journal. La commande ping est là pour simuler un travail effectué.

Exemple 3 : Journalisation des Erreurs

@echo off
echo Démarrage du script... >> log.txt
dir C:\RepertoireInexistant 2>> error.log
echo Script terminé. >> log.txt

Dans cet exemple, nous redirigeons les messages d'erreur vers un fichier error.log séparé. La syntaxe 2>> redirige spécifiquement la sortie d'erreur.

Exemple 4 : Journalisation Verbeuse

@echo off
setlocal enabledelayedexpansion

set "mode_verbeux=true"

:log
if "%mode_verbeux%"=="true" (
echo %date% %time% - %* >> verbose.log
)
goto :eof

call :log Script démarré
call :log Exécution de la tâche 1
ping localhost -n 3 > nul
call :log Tâche 1 terminée
call :log Script terminé

Cet exemple introduit une fonction de journalisation personnalisée qui ne journalise que lorsque le mode verbeux est activé. C'est un peu plus avancé, mais extrêmement utile pour le débogage détaillé !

Output

Maintenant, regardons à quoi pourraient ressembler nos fichiers journal après l'exécution de ces scripts.

log.txt (de l'Exemple 1) :

Démarrage du script...
Exécution de la tâche 1...
Tâche 1 terminée.
Script terminé.

log.txt (de l'Exemple 2) :

Mer 06/07/2023 15:30:45.32 - Démarrage du script
Mer 06/07/2023 15:30:45.32 - Exécution de tâche importante
Mer 06/07/2023 15:30:50.48 - Tâche terminée

error.log (de l'Exemple 3) :

Fichier non trouvé

verbose.log (de l'Exemple 4) :

Mer 06/07/2023 15:35:12.18 - Script démarré
Mer 06/07/2023 15:35:12.18 - Exécution de la tâche 1
Mer 06/07/2023 15:35:15.33 - Tâche 1 terminée
Mer 06/07/2023 15:35:15.33 - Script terminé

Et voilà, les amis ! Vous venez de devenir un expert de la journalisation dans les scripts Batch. Souvenez-vous, une bonne journalisation, c'est comme laisser des miettes dans votre code - cela vous aide à retrouver votre chemin lorsque les choses se corsent.

Pour conclure, voici un peu d'humour programmation : Pourquoi les programmeurs préfèrent-ils le mode sombre ? Parce que la lumière attire les bugs !

Continuez à vous entraîner, restez curieux, et bon codage !

Credits: Image by storyset