serilog-contrib / serilog-ui

Simple Serilog log viewer UI for several sinks.
MIT License
219 stars 41 forks source link
serilog serilog-sink serilog-ui

serilog-ui GitHub release (latest by date)

DotNET-build DotNET Coverage

JS-build Coverage

A simple Serilog log viewer for the following sinks:

Read the Wiki :blue_book:

Quick Start

Nuget packages installation

Install the Serilog.UI NuGet package:

# using dotnet cli
dotnet add package Serilog.UI

# using package manager:
Install-Package Serilog.UI

Install one or more of the available providers, based upon your sink(s):

Provider install: dotnet install: pkg manager
Serilog.UI.MsSqlServerProvider [NuGet] dotnet add package Serilog.UI.MsSqlServerProvider Install-Package Serilog.UI.MsSqlServerProvider
Serilog.UI.MySqlProvider [NuGet] dotnet add package Serilog.UI.MySqlProvider Install-Package Serilog.UI.MySqlProvider
Serilog.UI.PostgreSqlProvider [NuGet] dotnet add package Serilog.UI.PostgreSqlProvider Install-Package Serilog.UI.PostgreSqlProvider
Serilog.UI.MongoDbProvider [NuGet] dotnet add package Serilog.UI.MongoDbProvider Install-Package Serilog.UI.MongoDbProvider
Serilog.UI.ElasticSearchProvider [NuGet] dotnet add package Serilog.UI.ElasticSearchProvider Install-Package Serilog.UI.ElasticSearchProvider
Serilog.UI.RavenDbProvider [NuGet] dotnet add package Serilog.UI.RavenDbProvider Install-Package Serilog.UI.RavenDbProvider
Serilog.UI.SQLiteProvider [NuGet] dotnet add package Serilog.UI.SQLiteProvider Install-Package Serilog.UI.SQLiteProvider

DI registration

Add AddSerilogUi() to IServiceCollection in your Startup.ConfigureServices method:

public void ConfigureServices(IServiceCollection services)
{
  // Register the serilog UI services
  services.AddSerilogUi(options => options// each provider exposes extension methods to configure.
    // example with MSSqlServerProvider:
    .UseSqlServer(opts => opts
      .WithConnectionString("YOUR_CONNECTION_STRING")
      .WithTable("YOUR_TABLE")));
}

In the Startup.Configure method or on the WebApplication builder, enable the middleware to serve the log UI page.

NOTE: call to the UseSerilogUi middleware must be placed after any Authentication and Authorization middleware!

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    (...)

    app.UseRouting();
    app.UseAuthentication();
    app.UseAuthorization();

    // Enable middleware to serve log-ui (HTML, JS, CSS, etc.).
    app.UseSerilogUi(opts => [...]);

    (...)
}

For further configuration: :fast_forward:

Do you want to test the package on-the-fly? Try out the samples, with no configuration required!

Issues and Contribution

Everything is welcome! :trophy: See the contribution guidelines for details.

For details on running the project, start reading from Develop.

License

See LICENSE.

Project Sponsors

Contributors

Mohsen Esmailpour
Mohsen Esmailpour

💻 📆 ⚠️
Matteo Gregoricchio
Matteo Gregoricchio

💻 📖 ⚠️
sommmen
sommmen

💻
Israel Gómez de Celis
Israel Gómez de Celis

💻
Osama Bashir
Osama Bashir

💻
Ricardo
Ricardo

💻
Caleb Hanson
Caleb Hanson

💻
Aleksei
Aleksei

💻
chaadfh
chaadfh

💻
Phill Duffy
Phill Duffy

💻
Uthman
Uthman

💻
jorgevp
jorgevp

💻