ElmahCore 1.2.0
See the version list below for details.
dotnet add package ElmahCore --version 1.2.0
NuGet\Install-Package ElmahCore -Version 1.2.0
<PackageReference Include="ElmahCore" Version="1.2.0" />
paket add ElmahCore --version 1.2.0
#r "nuget: ElmahCore, 1.2.0"
// Install ElmahCore as a Cake Addin #addin nuget:?package=ElmahCore&version=1.2.0 // Install ElmahCore as a Cake Tool #tool nuget:?package=ElmahCore&version=1.2.0
Using ElmahCore
ELMAH for ASP.NET Core
Add nuget package elmahcore
Simple usage
Startup.cs
1) services.AddElmah() in ConfigureServices
2) app.UseElmah(); in Configure
Default elmah path ~/elmah
.
Change URL path
services.AddElmah(options => option.Path = "you_path_here")
Restrict access to the Elmah url
services.AddElmah(options =>
{
options.CheckPermissionAction = context => context.User.Identity.IsAuthenticated;
});
Change Error Log type
You can create your own error log, which will store errors anywhere.
class MyErrorLog: ErrorLog
//implement ErrorLog
This ErrorLogs available in board:
- MemoryErrorLog – store errors in memory (by default)
- XmlFileErrorLog – store errors in XML files
- SqlErrorLog - store errors in MS SQL (add reference to ElmahCore.Sql)
services.AddElmah<XmlFileErrorLog>(options =>
{
options.LogPath = "~/log"; // OR options.LogPath = "с:\errors";
});
services.AddElmah<SqlErrorLog>(options =>
{
options.ConnectionString = "connection_string"; // DB structure see here: https://bitbucket.org/project-elmah/main/downloads/ELMAH-1.2-db-SQLServer.sql
});
Rise exception
public IActionResult Test()
{
HttpContext.RiseError(new InvalidOperationException("Test"));
...
}
Using Notifiers
You can create your own notifiers by implement IErrorNotifier interface and add notifier to Elmah options:
services.AddElmah<XmlFileErrorLog>(options =>
{
options.Path = @"errors";
options.LogPath = "~/logs";
options.Notifiers.Add(new ErrorMailNotifier("Email",emailOptions));
});
Each notifier must have unique name.
Using Filters
You can use Elmah XML filter configuration in separate file, create and add custom filters:
services.AddElmah<XmlFileErrorLog>(options =>
{
options.FiltersConfig = "elmah.xml";
options.Filters.Add(new MyFilter());
})
Custom filter must implement IErrorFilter. XML filter config example:
<?xml version="1.0" encoding="utf-8" ?>
<elmah>
<errorFilter>
<notifiers>
<notifier name="Email"/>
</notifiers>
<test>
<and>
<greater binding="HttpStatusCode" value="399" type="Int32" />
<lesser binding="HttpStatusCode" value="500" type="Int32" />
</and>
</test>
</errorFilter>
</elmah>
see more here
JavaScript filters not yet impemented 😦
Add notifiers to errorFilter node if you do not want to send notifications Filtered errors will be logged, but will not be sent.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
-
.NETCoreApp 2.1
- ElmahCore.Common (>= 1.2.0)
- Microsoft.AspNetCore.Mvc (>= 2.1.3)
- Microsoft.Extensions.PlatformAbstractions (>= 1.1.0)
NuGet packages (15)
Showing the top 5 NuGet packages that depend on ElmahCore:
Package | Downloads |
---|---|
Shesha.Elmah
Package Description |
|
CrispyWaffle.Elmah
The CrispyWaffle ELMAH bridge package |
|
Lookif.Layers.WebFramework
WebFramework Related to "Lookif template". |
|
MDN.AspNetCore.Api
Package Description |
|
MoravianStar.WebAPI
The WebAPI package of Moravian Star library that contains common WebAPI related functionalities like: a common REST controller for CRUD operations, a common Enum controller, ability to mark a request to execute in a single SQL transaction and others. |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on ElmahCore:
Repository | Stars |
---|---|
dotnetzoom/AspNetCore-WebApi-Course
🥇 Professional REST API design with ASP.NET Core WebAPI
|
|
shesha-io/shesha-framework
An open-source Low-Code development framework for .NET developers. Create .NET based business applications with 80% less code.
|
Version | Downloads | Last updated |
---|---|---|
2.1.2 | 1,599,440 | 5/14/2022 |
2.1.1 | 114,430 | 1/24/2022 |
2.1.0 | 8,426 | 1/19/2022 |
2.0.7 | 159,277 | 8/31/2021 |
2.0.6 | 538,760 | 2/6/2021 |
2.0.5 | 16,070 | 1/21/2021 |
2.0.4 | 3,139 | 1/20/2021 |
2.0.3 | 7,915 | 1/13/2021 |
2.0.2 | 4,523 | 12/28/2020 |
2.0.1 | 1,367 | 12/28/2020 |
2.0.0 | 1,607 | 12/25/2020 |
1.2.7 | 92,491 | 12/13/2020 |
1.2.6 | 7,070 | 12/13/2020 |
1.2.5 | 816,275 | 3/15/2019 |
1.2.4 | 39,344 | 2/5/2019 |
1.2.3 | 78,206 | 1/3/2019 |
1.2.2 | 2,971 | 12/17/2018 |
1.2.1 | 5,250 | 12/3/2018 |
1.2.0 | 16,459 | 10/9/2018 |
1.0.4 | 32,333 | 12/8/2017 |
1.0.3 | 1,926 | 12/8/2017 |
1.0.2 | 1,865 | 12/8/2017 |
1.0.1 | 1,881 | 12/8/2017 |
1.0.0 | 5,495 | 12/7/2017 |