none
Tracabilté d'une application RRS feed

  • Question

  • Bonjour,

    j'ai développer une application en VB.net, et j'aimerais que l'administrateur de l'application peut  avoir une traçabilité sur les utilisateur de l'application  ex: à chaque fois que l'application est fermé un mail sera envoyé à l’administrateur en listant les action effectuer sur application .

     qu'il qu'un aura une aidée.

    merci

    cordialement

    jeudi 19 avril 2012 09:38

Réponses

  • Bonjour,

    Voici un exemple de code. Il faut bien sur l'adapter.

    Il faut initialiser un TraceListener qui créera un fichier (ici un fichier TonApplication.log) et qui nous permettra d'écrire dedans:

    Private ReadOnly _sw As New StreamWriter("Répertoire\TonApplication.log", False)
    Private ReadOnly _tl As New TextWriterTraceListener(_sw)
    
    Public Sub New()
    
    Trace.Listeners.Clear()
    Trace.Listeners.Add(_tl)
    Trace.AutoFlush = True
    
    end Sub

    Dans votre app au endroits où vous voulez écrire dans le fichier .log

    Trace.WriteLine(DateTime.Now & " " & "Démarrage de TonApplication...")
    .
    Trace.WriteLine(DateTime.Now & " " & "On vient de faire... dans l'application")
    .
    Trace.WriteLine(DateTime.Now & " " & "Arrêt de TonApplication...")

    Ensuite, par exemple dans le bouton 'quitter' il nous faut créer un email et y accrocher le fichier .log et ensuite l'envoyer.

    Dim client As New SmtpClient(Smtp, Port)
    client.EnableSsl = True
    
    Dim from As New MailAddress(EmailFromAdress, EmailFromName)
    Dim [to] As New MailAddress(EmailToAdress, EmailToName)
    Dim message As New MailMessage(from, [to])
    
    message.Body = "Corps du message"
    message.Subject = "Sujet du message"
    message.Attachments.Add(New Attachment("Répertoire\TonApplication.log"))
    
    Dim myCreds As New NetworkCredential(CredentialAdress, CredentialPassword, "")
    client.Credentials = myCreds
    
    client.Send(message)

    Bien à vous.


    ZGuideTV.NET - administrator/developer

    jeudi 19 avril 2012 10:33
  • Sinon il y a log4net qui est très bien et libre.

    http://logging.apache.org/log4net/

    Personnellement, je l'utilise dans tous mes projets.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 20 avril 2012 09:27

Toutes les réponses

  • Bonjour,

    Voici un exemple de code. Il faut bien sur l'adapter.

    Il faut initialiser un TraceListener qui créera un fichier (ici un fichier TonApplication.log) et qui nous permettra d'écrire dedans:

    Private ReadOnly _sw As New StreamWriter("Répertoire\TonApplication.log", False)
    Private ReadOnly _tl As New TextWriterTraceListener(_sw)
    
    Public Sub New()
    
    Trace.Listeners.Clear()
    Trace.Listeners.Add(_tl)
    Trace.AutoFlush = True
    
    end Sub

    Dans votre app au endroits où vous voulez écrire dans le fichier .log

    Trace.WriteLine(DateTime.Now & " " & "Démarrage de TonApplication...")
    .
    Trace.WriteLine(DateTime.Now & " " & "On vient de faire... dans l'application")
    .
    Trace.WriteLine(DateTime.Now & " " & "Arrêt de TonApplication...")

    Ensuite, par exemple dans le bouton 'quitter' il nous faut créer un email et y accrocher le fichier .log et ensuite l'envoyer.

    Dim client As New SmtpClient(Smtp, Port)
    client.EnableSsl = True
    
    Dim from As New MailAddress(EmailFromAdress, EmailFromName)
    Dim [to] As New MailAddress(EmailToAdress, EmailToName)
    Dim message As New MailMessage(from, [to])
    
    message.Body = "Corps du message"
    message.Subject = "Sujet du message"
    message.Attachments.Add(New Attachment("Répertoire\TonApplication.log"))
    
    Dim myCreds As New NetworkCredential(CredentialAdress, CredentialPassword, "")
    client.Credentials = myCreds
    
    client.Send(message)

    Bien à vous.


    ZGuideTV.NET - administrator/developer

    jeudi 19 avril 2012 10:33
  • Bonjour,

    merci pour le temps consacré pour me répondre.

    je vais testé ça.

    cordialement

    jeudi 19 avril 2012 15:56
  • Sinon il y a log4net qui est très bien et libre.

    http://logging.apache.org/log4net/

    Personnellement, je l'utilise dans tous mes projets.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 20 avril 2012 09:27
  • Bonjour, Abdel.net,

    Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    lundi 23 avril 2012 06:59