feat(maui): implement unified Serilog logging infrastructure and Blazor/JS interop bridge
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NexusReader.Application.Abstractions.Services;
|
||||
using NexusReader.Infrastructure.Mobile.Services;
|
||||
using NexusReader.UI.Shared.Services;
|
||||
using NexusReader.Application;
|
||||
using MediatR;
|
||||
using NexusReader.Maui.Infrastructure.Logging;
|
||||
|
||||
namespace NexusReader.Maui;
|
||||
|
||||
@@ -14,16 +16,30 @@ public static class MauiProgram
|
||||
try
|
||||
{
|
||||
var builder = MauiApp.CreateBuilder();
|
||||
|
||||
// Load embedded appsettings.json configuration
|
||||
var assembly = typeof(App).Assembly;
|
||||
using (var stream = assembly.GetManifestResourceStream("NexusReader.Maui.appsettings.json"))
|
||||
{
|
||||
if (stream != null)
|
||||
{
|
||||
((IConfigurationBuilder)builder.Configuration).AddJsonStream(stream);
|
||||
}
|
||||
}
|
||||
|
||||
builder
|
||||
.UseMauiApp<App>();
|
||||
.UseMauiApp<App>()
|
||||
.RegisterLogging();
|
||||
|
||||
builder.Services.AddMauiBlazorWebView();
|
||||
|
||||
#if DEBUG
|
||||
builder.Services.AddBlazorWebViewDeveloperTools();
|
||||
builder.Logging.AddDebug();
|
||||
#endif
|
||||
|
||||
// Interception bridge for JS/Blazor WebView logs
|
||||
builder.Services.AddSingleton<BlazorLoggingBridge>();
|
||||
|
||||
// Minimal Infrastructure
|
||||
builder.Services.AddSingleton<IPlatformService, MauiPlatformService>();
|
||||
builder.Services.AddSingleton<INativeStorageService, MauiStorageService>();
|
||||
|
||||
Reference in New Issue
Block a user