refactor: Add Serilog

gui
Robert Dailey 3 years ago
parent 391e12c5f6
commit b6e3552ffc

@ -1,5 +1,6 @@
using System.IO.Abstractions;
using Autofac;
using AutofacSerilogIntegration;
using Common;
using TrashLib.Startup;
@ -9,6 +10,8 @@ public static class CompositionRoot
{
public static void Setup(ContainerBuilder builder)
{
builder.RegisterLogger();
builder.RegisterModule<CommonAutofacModule>();
builder.RegisterType<FileSystem>().As<IFileSystem>();

@ -1,6 +1,6 @@
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Diagnostics;
namespace Recyclarr.Gui.Pages
{
@ -12,13 +12,6 @@ namespace Recyclarr.Gui.Pages
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
private readonly ILogger<ErrorModel> _logger;
public ErrorModel(ILogger<ErrorModel> logger)
{
_logger = logger;
}
public void OnGet()
{
RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;

@ -1,7 +1,9 @@
using Autofac;
using System.IO.Abstractions;
using Autofac.Extensions.DependencyInjection;
using MudBlazor.Services;
using Recyclarr.Gui;
using Serilog;
using TrashLib.Startup;
var builder = WebApplication.CreateBuilder(args);
@ -9,11 +11,24 @@ builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddMudServices();
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureContainer<ContainerBuilder>(CompositionRoot.Setup);
builder.Host
.ConfigureServices(x => x.AddAutofac())
.UseServiceProviderFactory(new AutofacServiceProviderFactory(CompositionRoot.Setup))
.UseSerilog((_, provider, config) =>
{
var paths = provider.GetRequiredService<IAppPaths>();
var logFile = paths.LogDirectory.SubDirectory("gui").File("gui.log");
config
.MinimumLevel.Debug()
.WriteTo.File(logFile.FullName);
});
var app = builder.Build();
var paths = app.Services.GetRequiredService<IAppPaths>();
var log = app.Services.GetRequiredService<ILogger>();
log.Debug("App Data Dir: {AppData}", paths.AppDataDirectory);
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
@ -22,12 +37,8 @@ if (!app.Environment.IsDevelopment())
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.MapBlazorHub();
app.MapFallbackToPage("/_Host");

@ -1,10 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<ItemGroup>
<Using Remove="Microsoft.Extensions.Logging" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Autofac" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="AutofacSerilogIntegration" Version="5.0.0" />
<PackageReference Include="MudBlazor" Version="6.*" />
<PackageReference Include="ReactiveUI.Blazor" Version="18.*" />
<PackageReference Include="Serilog.AspNetCore" Version="5.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
</ItemGroup>
<ItemGroup>

@ -1,10 +1,3 @@
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
"DetailedErrors": true
}

Loading…
Cancel
Save