/serilog-ui

Simple Serilog log viewer UI for several sinks.

Primary LanguageC#MIT LicenseMIT

serilog-ui GitHub release (latest by date)

DotNET-build DotNET Coverage

JS-build Coverage

A simple Serilog log viewer for the following sinks:

  • Serilog.Sinks.MSSqlServer (Nuget)
  • Serilog.Sinks.MySql (Nuget) and Serilog.Sinks.MariaDB Nuget
  • Serilog.Sinks.Postgresql (Nuget) and Serilog.Sinks.Postgresql.Alternative (Nuget)
  • Serilog.Sinks.MongoDB (Nuget)
  • Serilog.Sinks.ElasticSearch (Nuget)
  • Serilog.Sinks.RavenDB (Nuget)
  • Serilog.Sinks.SQLite (Nuget)

Read the Wiki πŸ“˜

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: ⏩

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

Issues and Contribution

Everything is welcome! πŸ† 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

πŸ’»
Tech Garage
Tech Garage

πŸ’»