GedanMagal / aspnet-serilog

AspNet Core Serilog component for help you log all request/response and exceptions.

Home Page:https://www.nuget.org/packages/AspNetSerilog/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status NuGet Downloads NuGet Version Quality Gate Status

AspNetSerilog

Serilog logger for AspNet Core web applications. Handler request, response and exceptions.

Install via NuGet

PM> Install-Package AspNetSerilog

Sample

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);

Properties

  • 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} {...}.

Setup global max length for exception properties

Use env var to change default value

  • SERILOG_ERROR_MESSAGE_MAX_LENGTH default value 256;
  • SERILOG_ERROR_EXCEPTION_MAX_LENGTH default value 1024;

How can I contribute?

Please, refer to CONTRIBUTING

Found something strange or need a new feature?

Open a new Issue following our issue template ISSUE_TEMPLATE

Changelog

See in nuget version history

Did you like it? Please, make a donate :)

if you liked this project, please make a contribution and help to keep this and other initiatives, send me some Satochis.

BTC Wallet: 1G535x1rYdMo9CNdTGK3eG6XJddBHdaqfX

1G535x1rYdMo9CNdTGK3eG6XJddBHdaqfX

About

AspNet Core Serilog component for help you log all request/response and exceptions.

https://www.nuget.org/packages/AspNetSerilog/

License:MIT License


Languages

Language:C# 100.0%