ElmahCore.Common
1.2.1
See the version list below for details.
dotnet add package ElmahCore.Common --version 1.2.1
NuGet\Install-Package ElmahCore.Common -Version 1.2.1
<PackageReference Include="ElmahCore.Common" Version="1.2.1" />
paket add ElmahCore.Common --version 1.2.1
#r "nuget: ElmahCore.Common, 1.2.1"
// Install ElmahCore.Common as a Cake Addin #addin nuget:?package=ElmahCore.Common&version=1.2.1 // Install ElmahCore.Common as a Cake Tool #tool nuget:?package=ElmahCore.Common&version=1.2.1
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.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Hosting.Abstractions (>= 2.1.1)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.1.1)
- Microsoft.AspNetCore.WebUtilities (>= 2.1.1)
- Microsoft.Extensions.Options (>= 2.1.1)
- Microsoft.Extensions.PlatformAbstractions (>= 1.1.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on ElmahCore.Common:
Package | Downloads |
---|---|
ElmahCore
ELMAH for ASP.NET Core |
|
ElmahCore.Sql
ELMAH for ASP.NET Core |
|
ElmahCore.Postgresql
ELMAH for ASP.NET Core |
|
ElmahCore.MySql
ELMAH for ASP.NET Core |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.1.2 | 1,519,185 | 5/14/2022 |
2.1.1 | 154,339 | 1/24/2022 |
2.1.0 | 10,012 | 1/19/2022 |
2.0.7 | 160,700 | 8/31/2021 |
2.0.6 | 531,084 | 2/6/2021 |
2.0.5 | 17,236 | 1/21/2021 |
2.0.4 | 3,919 | 1/20/2021 |
2.0.3 | 8,718 | 1/13/2021 |
2.0.1 | 5,834 | 12/28/2020 |
2.0.0 | 2,823 | 12/25/2020 |
1.2.7 | 89,456 | 12/13/2020 |
1.2.6 | 7,906 | 12/13/2020 |
1.2.5 | 814,050 | 3/15/2019 |
1.2.4 | 41,338 | 2/5/2019 |
1.2.3 | 79,919 | 1/3/2019 |
1.2.2 | 2,834 | 12/17/2018 |
1.2.1 | 10,285 | 12/3/2018 |
1.2.0 | 17,692 | 10/9/2018 |