Обертка для написания пользовательских ошибок elmah

Elmah позволяет писать свои сообщения в лог таким образом:

Elmah.ErrorLog.GetDefault(System.Web.HttpContext.Current).Log(new Elmah.Error(new Exception(str)));

Получается приходиться писать очень длинную строчку. Поэтому создадим класс — обертку, которая будет делать это за нас.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApp.Infrastructure
{
    public class ElmahWrap
    {
        public void Error(string message, Exception innerException)
        {
            Elmah.ErrorLog.GetDefault(System.Web.HttpContext.Current).Log(new Elmah.Error
(new Exception(message, innerException)));
        }
        public void Error(string message)
        {
            Elmah.ErrorLog.GetDefault(System.Web.HttpContext.Current).Log(new Elmah.Error(new Exception(message)));
        }
        public void Error(Exception exception)
        {
            Elmah.ErrorLog.GetDefault(System.Web.HttpContext.Current).Log(new Elmah.Error(exception));
        }
    }
}

Теперь для того чтобы написать сообщение нужно создать свойство:

private ElmahWrap _elmah = new ElmahWrap();

И вызывать метод, передавая только само сообщение:

_elmah.Error("Произошла какая-та ошибка!");
По теме:
Выполняем get запрос по расписанию c#

Напишем простенькую программу, которая будет выполнять get запрос по истечению определенного интервала времени. class Program { private static Timer _timer; Read more

Выполняем действие по расписанию (asp.net, c#)

Раньше я писал программку, которая выполняла get запрос по расписанию, но так же можно написать обычный HttpModule, который будет делать Read more

Выбираем технологии и инструменты для разработки веб приложений

1 Выбор и настройка инструментов для разработки фронтенда (только самые важные): 1.1 Twitter bootstrap — фреймворк позволяет писать качественную верстку Read more

Делаем водяной знак на картинке (c#, .net)

Нанесем несколько раз картинку watermark на другую картинку. public void DrawWatermark(string watermarkImagePath, System.Drawing.Image image) { using (System.Drawing.Image watermarkImage = System.Drawing.Image.FromFile(watermarkImagePath)) Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *