Serilog Contrib Serilog Ui Save

Simple Serilog log viewer UI for several sinks.

Project README

serilog-ui GitHub release (latest by date)

DotNET-build DotNET Coverage Quality Gate Status

JS-build Coverage Quality Gate Status

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)
  • Serilog.Sinks.MongoDB (Nuget)
  • Serilog.Sinks.ElasticSearch (Nuget)
  • Serilog.Sinks.RavenDB (Nuget)

Read the Wiki :blue_book:

Quick Start :dash:

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 of the available providers, based upon your sink:

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

DI registration

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

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

In the Startup.Configure method, enable the middleware to serve the log UI page. Note: call to the UseSerilogUi middleware must be placed after any Authentication and Authorization middleware, otherwise the authentication may not work:

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

    (...)

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}

For further configuration: :fast_forward:

Running the Tests: :test_tube:

License

See LICENSE.

Issues and Contribution

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

Support

Thank you JetBrains for supporting this project.

JetBrains Logo (Main) logo

Open Source Agenda is not affiliated with "Serilog Contrib Serilog Ui" Project. README Source: serilog-contrib/serilog-ui
Stars
194
Open Issues
8
Last Commit
2 weeks ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating