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
WebApiActioncontaining the name of the Action being executed in the Web API Controller - WithWebApiControllerName : adds a property
WebApiControllercontaining the name of the Controller in which a Web API Action has executed - WithWebApiRouteData : adds a property
WebApiRouteDatacontaining the dictionary of the RouteData - WithWebApiRouteTemplate : adds a property
WebApiRouteTemplatecontaining 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>