Logger execution

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

Logger execution

#1

Message par jcaspar » mar. 14 mai 2019 10:53

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 : 694
Enregistré le : ven. 12 août 2011 18:49
Localisation : Essonne
Status : Hors ligne

Re: Logger execution

#2

Message par walkson » mar. 14 mai 2019 14:59

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

Répondre