- 
                Notifications
    You must be signed in to change notification settings 
- Fork 45
[v2] Install: Basics
        Matteo Gregoricchio edited this page Apr 23, 2024 
        ·
        1 revision
      
    
Install the Serilog.UI NuGet package:
# using dotnet cli
dotnet add package Serilog.UI
# using package manager:
Install-Package Serilog.UIInstall 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.ElasticSearcProvider | 
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"));
}If you want to register more than one log table, you can register them:
public void ConfigureServices(IServiceCollection services)
{
    services.AddSerilogUi(options => options
        .UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), "Logs")
        .UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), "Logs2")
    );
}please notice: this feature is currently not supported by NoSQL data providers. It's currently limited to:
MsSqlServerProvider
MySqlProvider
PostgreSqlProvider
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?}");
    });
}
- Additional columns are not supported and only main columns can be retrieved.