Deprecation notice: this package is no longer maintained. The world has moved on to ASP.NET Core. Take a look at Serilog.AspNetCore instead!
ASP.NET WebAPI support for SerilogWeb.Classic.
Package - SerilogWeb.Classic.WebApi | Platforms - .NET 4.5
This package is designed for full framework ASP.NET applications. For ASP.NET Core, have a look at Serilog.AspNetCore
This package is used in conjunction with SerilogWeb.Classic and adds :
- support for logging WebAPI exceptions with Serilog
- Web API specific enrichers
The following enrichers are available as extension methods from the LoggerConfiguration.Enrich
API:
- WithWebApiActionName : adds a property
WebApiAction
containing the name of the Action being executed in the Web API Controller - WithWebApiControllerName : adds a property
WebApiController
containing the name of the Controller in which a Web API Action has executed - WithWebApiRouteData : adds a property
WebApiRouteData
containing the dictionary of the RouteData - WithWebApiRouteTemplate : adds a property
WebApiRouteTemplate
containing the route template selected by Web API routing
Usage :
var log = new LoggerConfiguration()
.WriteTo.Console()
.Enrich.WithWebApiRouteTemplate()
.Enrich.WithWebApiActionName()
.CreateLogger();
To override the property name of the added property:
var log = new LoggerConfiguration()
.WriteTo.Console()
.Enrich.WithWebApiRouteTemplate("RouteTemplate")
.CreateLogger();
Enrichers can also be defined in a configuration file by using Serilog.Settings.AppSettings as follows:
<appSettings>
<add key="serilog:using:SerilogWeb.Classic.WebApi" value="SerilogWeb.Classic.WebApi"/>
<add key="serilog:enrich:WithWebApiActionName" />
<add key="serilog:enrich:WithWebApiControllerName" />
<add key="serilog:enrich:WithWebApiRouteData" />
<add key="serilog:enrich:WithWebApiRouteTemplate" />
</appSettings>