Giter VIP home page Giter VIP logo

aspnet-serilog's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.