Bonjour à toutes et tous,

J'ai développé une appli Console en VB.NET, et entres autres cette dernière consigne un certain nombre de choses dans des fichiers logs via les procédures set_LogErr() et set_LogTrait()

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
  Public Sub set_LogTrait(ByVal txt As String)
        Dim sw As StreamWriter
 
        Try
            If Not File.Exists(PathAppli & "\log\traitements.log") Then
                'Le fichier n'existe pas. On le crée
                sw = New StreamWriter(PathAppli & "\log\traitements.log")
                sw.WriteLine(Now.ToString & " : " & txt)
                sw.Close()
                sw = Nothing
            Else
                sw = File.AppendText(PathAppli & "\log\traitements.log")
                sw.WriteLine(Now.ToString & " : " & txt)
                sw.Close()
                sw = Nothing
                'Remarque : On peut utiliser sw = File.AppendText(NomFichier) pour ajouter
                'du texte à un fichier existant
            End If
 
 
            'Fermeture streamwriter
            If Not IsNothing(sw) Then sw.Close()
        Catch ex As Exception
Dim erreur As String
            erreur = "Erreur en fonction set_LogErr :" + ex.Message
 
Throw New Exception(erreur)
        End Try
 
    End Sub
 
 
    Public Sub set_LogErr(ByVal txt As String)
        Dim sw As StreamWriter
 
        Try
            If Not File.Exists(PathAppli & "\log\exceptions.log") Then
                'Le fichier n'existe pas. On le crée
                sw = New StreamWriter(PathAppli & "\log\exceptions.log")
                sw.WriteLine(Now.ToString & " : " & txt)
                sw.Close()
                sw = Nothing
            Else
                sw = File.AppendText(PathAppli & "\log\exceptions.log")
                sw.WriteLine(Now.ToString & " : " & txt)
                sw.Close()
                sw = Nothing
                'Remarque : On peut utiliser sw = File.AppendText(NomFichier) pour ajouter
                'du texte à un fichier existant
            End If
 
 
            'Fermeture streamwriter
            If Not IsNothing(sw) Then sw.Close()
        Catch ex As Exception
Dim erreur As String
            erreur = "Erreur en fonction set_LogErr :" + ex.Message
 
Throw New Exception(erreur)
        End Try
 
    End Sub
Quand je lance l'exe directement, le fichier traitement s'alimente bien. Par contre, j'ai constaté que quand ce même fichier exe est lancé via une tâche planifiée Windows, ce même fichier traitement n'est plus alimenté. Pourtant les traitements prévus par le développement sont bien effectués.
Sauf que maintenant un plantage est survenu une nuit, et malheureusement le fichier Exception n'a pas bougé...

D'où ma question : cela pourrait-il venir du fait que l'appli est lancée via une tâche planifiée ?

Merci pour vos réponses.