c # escrevendo para o visualizador de eventos

Estou tentando escrever para o visualizador de eventos no meu código c #, mas estou recebendo a maravilhosa mensagem "Referência de objeto não definida para uma instância de um objeto". Eu apreciaria alguma ajuda com este código, ou o que há de errado com ele ou até mesmo uma maneira melhor de fazê-lo. Aqui está o que eu tenho para escrever no log de eventos:

private void WriteToEventLog(string message)
{
    string cs = "QualityDocHandler";
    EventLog elog = new EventLog();
    if (!EventLog.SourceExists(cs))
    {
        EventLog.CreateEventSource(cs, cs);
    }
    elog.Source = cs;
    elog.EnableRaisingEvents = true;
    elog.WriteEntry(message);
}

E aqui é onde eu estou tentando chamá-lo:

private readonly Random _rng = new Random();
private const string _chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private string RandomString(int size)
{
    try
    {
        char[] buffer = new char[size];
        for (int i = 0; i < size; i++)
        {
            buffer[i] = _chars[_rng.Next(_chars.Length)];
        }
        return new string(buffer);
    }
    catch (Exception e)
    {
        WriteToEventLog(e.ToString());
        return null;
    }
}

questionAnswers(3)

yourAnswerToTheQuestion