IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#] Event Log


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 20
    Par défaut [C#] Event Log
    Bonjour à tous !

    J'essaie de développez une application/service windows afin de récupérer les Logs Windows pour les envoyer sur un serveur Syslog Linux.
    J'arrive à créer le datagramme UDP et le transmettre au serveur.
    Cependant, j'ai un souci avec l'évènement EventLog::EntryWritten().
    En effet, je ne sais pas récupérer le nom du Log Source (Application, System...etc) depuis cet évènement.
    Le paramètre "Object sender" est instancié (lors du debug) comme EventLogInternal et je n'ai trouvé aucun moyen pour créer une instance de ce type.
    Avez vous une idée ?

    Merci pour votre aide,

    Cordialement,

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par linuxludo Voir le message
    Le paramètre "Object sender" est instancié (lors du debug) comme EventLogInternal et je n'ai trouvé aucun moyen pour créer une instance de ce type.
    Euh, pourquoi veux-tu en créer une instance ?
    Tu as juste à le caster en EventLog et récupérer la propriété qui t'intéresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void eventLog_EntryWritten(Object sender, EntryWrittenEventArgs e)
    {
        EventLog evLog = (EventLog)sender;
        string logName = evLog.Log;
        ...
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 20
    Par défaut
    bah justement !
    Je ne peux pas faire un cast de "sender" en eventLog;
    Impossible de faire un cast de EventLogInternal" en "EventLog"
    Mais j'ai contourné le problème en utilisant un delegate anonyme sur l'évènement EventLog::EntryWritten !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    foreach (EventLog evl in EventLog.GetEventLogs())
    {
       evl.EntryWritten += new delegate(object sender, EntryWrittenEventArgs e)
       {
          string log = evl.Log;
          [...]
       }
    }

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par linuxludo Voir le message
    Je ne peux pas faire un cast de "sender" en eventLog;
    On dirait que quelqu'un a un peu merdé chez MS
    Normalement le sender devrait toujours être l'objet sur lequel tu t'es abonné à l'évènement. Vraiment bizarre ce truc...

    Citation Envoyé par linuxludo Voir le message
    Mais j'ai contourné le problème en utilisant un delegate anonyme sur l'évènement EventLog::EntryWritten !
    Bien vu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Event Log, c'est quoi ?
    Par Sakapatate dans le forum Windows XP
    Réponses: 2
    Dernier message: 25/05/2008, 14h02
  2. event log de sql server
    Par amarige dans le forum Administration
    Réponses: 1
    Dernier message: 11/05/2008, 23h17
  3. Ecriture dans l'event log en utilisant un .vbs
    Par tiens-tiens dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/05/2007, 23h03
  4. ajout paragraphe dans le fichier comme Event Log
    Par faddou dans le forum Langage
    Réponses: 2
    Dernier message: 04/05/2007, 09h14
  5. [W2K] Event log
    Par ducho dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 13/11/2006, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo