-
Notifications
You must be signed in to change notification settings - Fork 43
[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.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"));
}
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.