Для изменения размера нажмите или перетащите
Создание ILogListener

Если необходимо создать свою реализацию ILogListener (например, когда требуется сохранять сообщения в базе данных), то можно или отнаследоваться от класса LogListener или напрямую реализовать интерфейс ILogListener. Через метод ILogListenerWriteMessages передается объект класса LogMessage. Данный класс содержит информацию об источнике сообщения LogMessageSource (например, стратегия, которая сгенерировала сообщение), тип сообщения LogMessageLevel (информация, предупреждение или ошибка), а также сам текст LogMessageMessage. Ниже в качестве примера приведен код класс EmailLogListener:

C#
/// <summary>
/// Логгер, отсылающий данные на email. 
/// </summary>
public class EmailLogListener : LogListener
{
    /// <summary>
    /// Создать <see cref="EmailLogListener"/>.
    /// </summary>
    /// <param name="from">Адрес, от имени которого будет отправлено сообщение.</param>
    /// <param name="to">Адрес, куда будет отправлено сообщение.</param>
    public EmailLogListener(string from, string to)
    {
        if (from.IsEmpty())
            throw new ArgumentNullException("from");

        if (to.IsEmpty())
            throw new ArgumentNullException("to");

        From = from;
        To = to;
    }

    /// <summary>
    /// Адрес, от имени которого будет отправлено сообщение.
    /// </summary>
    public string From { get; private set; }

    /// <summary>
    /// Адрес, куда будет отправлено сообщение.
    /// </summary>
    public string To { get; private set; }

    /// <summary>
    /// Записать сообщение.
    /// </summary>
    /// <param name="message">Отладочное сообщение.</param>
    protected override void OnWriteMessage(LogMessage message)
    {
        var email = new SmtpClient();
        email.Send(new MailMessage(From, To, message.Source.Name + " " + message.Level, message.Message));
    }
}