A simple Serilog log viewer for the following sinks:
- Serilog.Sinks.MSSqlServer (Nuget)
- Serilog.Sinks.MySql (Nuget)
- Serilog.Sinks.Postgresql (Nuget)
- Serilog.Sinks.MongoDB (Nuget)
- Serilog.Sinks.ElasticSearch (Nuget)
Read the Wiki 📘
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.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"));
}
In the Startup.Configure
method, enable the middleware to serve the log UI pagee.
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: ⏩
Running the Tests: 🧪
See LICENSE.
Everything is welcome! 🏆 See the contribution guidelines for details.