MCS.Logging.DotNetCore
1.0.0
See the version list below for details.
dotnet add package MCS.Logging.DotNetCore --version 1.0.0
NuGet\Install-Package MCS.Logging.DotNetCore -Version 1.0.0
<PackageReference Include="MCS.Logging.DotNetCore" Version="1.0.0" />
paket add MCS.Logging.DotNetCore --version 1.0.0
#r "nuget: MCS.Logging.DotNetCore, 1.0.0"
// Install MCS.Logging.DotNetCore as a Cake Addin
#addin nuget:?package=MCS.Logging.DotNetCore&version=1.0.0
// Install MCS.Logging.DotNetCore as a Cake Tool
#tool nuget:?package=MCS.Logging.DotNetCore&version=1.0.0
MCS.Logging.DotNetCore
Simple global logging library for Serilog in .Net Core
Setting Up
First You'll need a handlful of Environment Variables.
File Logging
SQL Logging
Helper Class
For better control over your logging you'll want to build a helper class. There are a number of ways to write this, but here are a few examples.
General Logging - WebHelper Logging When an Api Integration Is Called by Your MVC App - ApiHelper
How To Actually Log Sh*...stuff
Now for the good stuff, it's time to hook all the pipes together. In your startup class you'll need to register a global exception handler. Somthing along these lines should make it's way into your Startup class's Configure method.
app.UseExceptionHandler(axc =>
{
exc.Run(async context =>
{
context.Response.StatusCode = 500;
context.Response.ContentType = "application/json";
var errorCtx = context.Features.Get<IExceptionHandlerFeature>();
if (errorCtx != null)
{
var ex = errorCtx.Error;
WebHelper.LogWebError("Product Name", "Api Name", ex, context);
var errorId = Activity.Current?.Id ?? context.TraceIdentifier;
var jsonResponse = JsonConvert.SerializeObject(new CustomErrorResponse
{
ErrorId = errorId,
Message = "Some kind of error happened in the API."
});
await context.Response.WriteAsync(jsonResponse, Encoding.UTF8);
}
});
});
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 | netcoreapp3.0 is compatible. netcoreapp3.1 was computed. |
-
.NETCoreApp 3.0
- Microsoft.AspNetCore (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Serilog (>= 2.9.0)
- Serilog.Sinks.File (>= 4.1.0)
- System.Data.SqlClient (>= 4.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
1.0.0 - New Package