2009-08-18 5 views
0

У меня есть консольное приложение, которое будет выполняться через запланированную задачу, и что я хочу сделать, это записать запись в журнал событий в блок catch. Я пробовал использоватьЗапись в журнал событий Windows Запланированная задание

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

но почему-то не написано об ошибке. Я делаю что-то неправильно?

Благодаря

ответ

1

Вы должны убедиться, что событие-источник существует, например:

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

См http://support.microsoft.com/kb/307024

2

Этот код с веб-сайта MSDN в C#, я надеюсь, что это поможет вам.

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

Одна вещь, чтобы отметить, что иногда есть небольшая задержка при вызове EventLog.CreateEventSource , поэтому вы должны знать об этом при попытке получить доступ к созданному EventSource сразу после создания.

Смежные вопросы