2009-08-18 11 views
0

J'ai une application de console qui va exécuter une tâche planifiée et ce que je voudrais faire, c'est l'écrire dans un journal des événements dans un bloc catch. J'ai essayé d'utiliserÉcrire dans le journal des événements Tâche planifiée Windows

EventLog.WriteEntry("My App Name","Error Message - " ex.ToString()); 

mais pour une raison quelconque, il n'écrit pas l'erreur. Est-ce que je fais quelque chose de mal?

Merci

Répondre

1

Vous devez vous assurer existe la source de l'événement, par exemple:

if (!EventLog.SourceExists("MySource")) 
    EventLog.CreateEventSource("MySource","Application"); 

Voir http://support.microsoft.com/kb/307024

2

Ce code est sur le site MSDN en C#, j'espère que cela vous aidera.

using System; 
using System.Diagnostics; 
using System.Threading; 

class MySample{ 

    public static void Main(){ 

     // Create the source, if it does not already exist. 
     if(!EventLog.SourceExists("MySource")){ 
      EventLog.CreateEventSource("MySource", "MyNewLog"); 
      Console.WriteLine("CreatingEventSource"); 
     } 

     // Create an EventLog instance and assign its source. 
     EventLog myLog = new EventLog(); 
     myLog.Source = "MySource"; 

     // Write an informational entry to the event log.  
     myLog.WriteEntry("Writing to event log."); 

    } 
} 
0

Une chose à noter est qu'il ya parfois un petit délai lors de l'appel EventLog.CreateEventSource , vous devriez donc être conscient de cela lorsque vous essayez d'accéder à l'EventSource créé immédiatement après la création.