©
. Document créé le 10 août 2010 , mis à jour le 1er février 2011.Les hommes vieillissent toujours mal quand ils restent jeunes. Romain Gary (Au-delà de cette limite...)
Accueil du site > Astuces > MacOSX > Tracer l’exécution d’une application
Applescript propose la fonction log pour tracer l’exécution de votre application. Avec pour contrainte d’exécuter votre script sous l’Editeur AppleScript et consulter la fenêtre Historique des événements.
Il y a peut-être plus efficace : utiliser la puissance du syslog de votre Mac.
La commande unix logger permet d’envoyer un message sur les journaux de votre système. Démonstration :
logger Hello Néant
suivi du retour chariot. Votre message Hello Néant apparait dans l’autre fenêtre.
En AppleScript :
on run
log "Hello Néant"
end run
on log (msg)
do shell script "logger " & (quoted form of msg)
end log
Log dans un fichier personnel
La commande unix echo permet de renvoyer sur un autre fichier que le journal système, via une redirection du shell. Exemple :
echo "Hello Néant" >> mon_journal.txt
suivi du retour chariot. Votre message Hello Néant apparait dans l’autre fenêtre.
En AppleScript (le journal.txt apparaît sur le bureau) :
on run
log "Hello Néant"
end run
on log (msg)
set the my_log to ¬
(POSIX path of ((path to desktop) as text) & "mon_journal.txt")
try
-- Créer si besoin
do shell script "touch " & (quoted form of my_log)
-- Ajouter le message en fin de fichier
do shell script "echo " & ¬
(quoted form of msg) & ¬
" >> " & (quoted form of my_log)
end try
end log
En AppleScript, sans utiliser le shell (le journal.txt apparaît sur le bureau) :
on run
log "Hello Néant"
end run
on log (msg)
set the my_log to ¬
((path to desktop) as text) & "mon_journal.txt"
try
-- ouvrir le fichier. Finder le crée si besoin
open for access file the my_log with write permission
-- écrire le message en fin de fichier
write (msg & return) to file the my_log starting at eof
-- fermer le fichier
close access file the my_log
on error
try
close access file the my_log
end try
end try
end log
Les forums sont fermés.