- PVSM.RU - https://www.pvsm.ru -

ELMAH в ASP.NET Core

Появился порт ELMAH для ASP.NET Core: здесь [1]

Как его использовать?

1) Установил NUGET пакет ElmahCore
2) Изменил Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    //Добавил
    services.AddElmah();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
       app.UseDeveloperExceptionPage();
       app.UseBrowserLink();
    }
    else
    {
       app.UseExceptionHandler("/Error");
    }

    //Добавил
    app.UseElmah();

    app.UseStaticFiles();

     app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller}/{action=Index}/{id?}");
         });
    }

Вуаля...

image

Что есть и чего нет?

Есть возможность логировать в XML и MSSQL:
Пример XML:

//Логирование в XML файлы в папку logs
services.AddElmah<XmlFileErrorLog>(o => o.LogPath = "~/logs");

Пример MSSQL:

//Логирование в MSSQL
services.AddElmah<SqlErrorLog>(o => o.ConnectionString = "моя_строка_подключения");

Можно установить адрес по которому будет доступен Elmah:

services.AddElmah<SqlErrorLog>(o =>
{
   //Изменяем url к Elmah
   o.Path = "myerrors";
   o.ConnectionString = "моя_строка_подключения";
});

Можно использовать декоративные фильтры, как описано здесь [2], но размещать их нужно в отдельном XML файле, путь к которому задается так:

services.AddElmah<SqlErrorLog>(o =>
{
    //Изменяем url к Elmah
    o.Path = "myerrors";
    o.FiltersConfig = "elmah.xml";
});

Нет поддержки JavaScript в декоративных фильтрах.

Добавили уведомителей (Notifiers), видимо, вместо ErrorEmailModule и TwitterEmailModule, но с ним я пока не разобрался.

Посмотрим, на сколько это порт стабилен.

Автор: призывник

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/pesochnitsa/270235

Ссылки в тексте:

[1] здесь: https://github.com/ElmahCore/ElmahCore

[2] здесь: https://elmah.github.io/a/error-filtering/

[3] Источник: http://habrahabr.ru/sandbox/112806/