目标:使用依赖注入将Serilog实现到.net Maui应用程序中。
我能够使MauiProgram.cs文件中的静态方法正确地进行日志记录,但是我无法在应用程序中的任何其他地方进行日志记录。
我尝试过各种设置,如这些docs,https://github.com/serilog/serilog-extensions-logging中所示
我还尝试了这里报告的.net Blazor (不是Maui)解决方案,但是没有结果:Blazor application logging with Serilog
我加了
using Serilog;敬我的imports.razor。
我试过:
builder.Services.AddLogging(loggingBuilder =>
loggingBuilder.AddSerilog(Log.Logger, dispose: true));和:
builder.Logging.AddSerilog(Log.Logger, dispose: true);MauiProgram.cs:
using Microsoft.AspNetCore.Components.WebView.Maui;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Hosting;
using SortedDesktop.Data;
using MudBlazor.Services;
using Serilog;
using Serilog.Events;
using System;
namespace Desktop
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
.MinimumLevel.Override("System", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.Seq("http://adomain.com")
.CreateLogger();
var builder = MauiApp.CreateBuilder();
builder
.RegisterBlazorMauiWebView()
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
builder.Services.AddBlazorWebView();
builder.Services.AddSingleton<WeatherForecastService>();
builder.Services.AddMudServices();
//builder.Services.AddLogging(loggingBuilder =>
// loggingBuilder.AddSerilog(Log.Logger, dispose: true));
builder.Logging.AddSerilog(Log.Logger, dispose: true);
try
{
Log.Information("Starting desktop app");
return builder.Build();
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
}
finally
{
Log.CloseAndFlush();
}
return builder.Build();
}
}
}正如我前面提到的,上面对Log.Information的静态调用在这里工作得很好。
Razor页面
@inject ILogger<AddJob> logger;
@code {
protected override void OnInitialized()
{
logger.LogInformation("Add Job initialized");
Log.Information("Add Job initialized (static method call)");
}
}上面的电话都不起作用。
发布于 2021-11-26 19:41:22
https://stackoverflow.com/questions/69610206
复制相似问题