Logger execution

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jcaspar
Niveau 7
Niveau 7
Messages : 449
Enregistré le : mar. 23 sept. 2008 17:58
Status : Hors ligne

Logger execution

#1

Message par jcaspar »

B :D onjour à tous !

Je souhaiterais apprendre comment savoir si une fonction s'execute bien
ou si l'ensemble de l'execution c'est bien déroulée

A priori l'executable renvoi une valeur 0 ou 1 et une fonction egalement

voici mon code mais il ne me parait pas optimale ...
Quel serait à votre avis la bonne manière de procéder ?

En vous remerciant pour vos conseils

Code : Tout sélectionner

#include <AutoItConstants.au3>
#include <File.au3>

chromeInstall()
Global $CodeRetour = chromeInstall()

Func chromeInstall()

	Local $sUserName = "admin"
	Local $sPassword = "xxxx"

	Local $iPID = RunAs($sUserName, @ComputerName, $sPassword, $RUN_LOGON_NOPROFILE, "ChromeStandaloneSetup64.exe /install /silent", "", @SW_SHOWMAXIMIZED)
	Local $hFile = FileOpen(@ScriptDir & "\deploiement_chrome.log", 1)
	_FileWriteLog($hFile, @UserName & " " & @ComputerName & " " & "Date:" & @MDAY & @MON & @YEAR & " Heure:" & @HOUR & @MIN & @SEC & " " & "Code Retour:" & @error) 
	FileClose($hFile)

	Exit ($CodeRetour)

EndFunc   ;==>chromeInstall
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Logger execution

#2

Message par walkson »

Bonjour,
Une première remarque: vous faites ici 2 installations !
_FileWriteLog
Écrit la date et l'heure courante et le texte spécifié dans un fichier journal
Donc il est inutile de remettre les dates et l'heure
   Local $hFile = FileOpen(@ScriptDir & "\deploiement_chrome.log", 1)
   _FileWriteLog($hFile, @UserName & " " & @ComputerName & " " & "Date:" & @MDAY & @MON & @YEAR & " Heure:" & @HOUR & @MIN & @SEC & " " & "Code Retour:" & @error)
@error renvoie FileOpen() et non RunAs()
Il y a plusieurs manières de faire, un exemple
#include <AutoItConstants.au3>
#include <File.au3>


Global $CodeRetour = chromeInstall()
If $CodeRetour = 0 Then
   MsgBox(32,"","Réussite")
Else
   MsgBox(16,"","Echec")
EndIf

Func chromeInstall()

   Local $sUserName = "admin"
   Local $sPassword = "xxxx"
   Local $aFile = @ScriptDir & "\deploiement_chrome.log"
   If Not FileExists($aFile) Then FileOpen($aFile, 8 + 2)
   Local $iPID = RunAs($sUserName, @ComputerName, $sPassword, $RUN_LOGON_NOPROFILE, "ChromeStandaloneSetup64.exe /install /silent", "", @SW_SHOWMAXIMIZED)
   If @error Then
   _FileWriteLog($aFile, @UserName & " " & @ComputerName & " " & "Erreur:" & @error & " Mauvaise installation")
   Return 1
   Else
   _FileWriteLog($aFile, @UserName & " " & @ComputerName & " " & "Succès:" & @error & " Bonne installation")
   Return 0
   EndIf

EndFunc   ;==>chromeInstall
J'aurais pu utiliser Return SetError()
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Répondre