Serilog logger for AspNet Core web applications. Handler request, response and exceptions.
PM> Install-Package AspNetSerilog
Configure your Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
var config = new SerilogConfiguration
{
Blacklist = new string[] { "password", "credit_card" }
};
services.SetupSerilog(config);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseAspNetSerilog();
app.UseMvc();
}
Ready! That way all request/response will be sended to serilog.
You can custom information title / error title and Serilog Logger using SerilogConfiguration in constructor. By default, global serilog logger will be used.
You can disable logging on success using DisableSerilogExtension in your action:
[HttpGet("")]
public IActionResult Home()
{
this.DisableLogging();
...
}
For exception log, in your global exception handler, add exception in context items, like:
context.Items.Add("Exception", exception);
RequestBody
Method
Path
Host
Port
Url
QueryString
Query
RequestHeaders
Ip
IsSuccessful
StatusCode
StatusDescription
StatusCodeFamily
ProtocolVersion
ErrorException
ErrorMessage
ResponseContent
ContentType
ContentLength
ResponseHeaders
ElapsedMilliseconds
RequestKey
You can use this propeties with serilog log context to build log messages. HTTP {Method} {Path} {...}
.
Use env var to change default value
SERILOG_ERROR_MESSAGE_MAX_LENGTH
default value 256;SERILOG_ERROR_EXCEPTION_MAX_LENGTH
default value 1024;
Please, refer to CONTRIBUTING
Open a new Issue following our issue template ISSUE_TEMPLATE
See in nuget version history
if you liked this project, please make a contribution and help to keep this and other initiatives, send me some Satochis.
BTC Wallet: 1G535x1rYdMo9CNdTGK3eG6XJddBHdaqfX