Evento de erro de código de registro não ser capaz de encontrar a Fonte de evento?
Pergunta
Eu estou tentando usar o log de eventos para escrever algumas informações de depuração e eu não posso fazer isso funcionar. Ele reclama sobre não ser capaz de encontrar a Fonte de Eventos. Eu tenho que instalar algo no OS?
Solução
Aqui um código que eu modificado a partir de um de nosso aplicativo. Isso pode ajudar você a começar com a criação.
System.Diagnostics.EventLog eventLog1 = new System.Diagnostics.EventLog();
string eventLogName = "StackOverFlowEventName";
string eventLogSource = "StackOverFlowWebsite";
//This code HERE will create the Event for you
if (!System.Diagnostics.EventLog.SourceExists(eventLogSource))
{
System.Diagnostics.EventLog.CreateEventSource(eventLogSource, eventLogName);
}
eventLog1.Source = eventLogSource;
eventLog1.Log = eventLogName;
eventLog1.WriteEntry("This is a test");
Outras dicas
O código que você está usando atualmente em seu projeto? Atualmente estou usando esta linha de escrever para o log de eventos.
System.Diagnostics.EventLog.WriteEntry(assemblyName, "Error stuff", System.Diagnostics.EventLogEntryType.Error);
Cuidado, porém, isso irá lançar uma exceção se o arquivo de log está cheio
Você também pode ir diretamente no Registro e adicionar os valores necessários para fazê-lo funcionar ou você pode adicionar um projeto na solução que irá conter apenas uma InstallerClass que irá criar a entrada de EventLog para você, quando você executar o exe-lo cria.