Maui与ABP整合
using MauiTest.ViewModel;
using Microsoft.Extensions.Logging;
using Serilog.Events;
using Serilog;
using Volo.Abp;
using MauiLogShow;
namespace MauiTest
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
Log.Logger = new LoggerConfiguration()
#if DEBUG
.MinimumLevel.Debug()
#else
.MinimumLevel.Information()
#endif
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.With<LogShowEnricher>()
.Enrich.FromLogContext()
//.WriteTo.Logger(lc => lc
//.Filter.ByIncludingOnly(Matching.FromSource("JYMES.MOMInterface.MomService"))
//.WriteTo.Map("CommandId",
// (commandId, wt) =>
// {
// DateTime dateTime = DateTime.Now;
// wt.File($"Logs/{commandId}/{dateTime.ToString("yyyyMMdd")}/{dateTime.Hour}.log",
// outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} {Message:lj}{NewLine}"
// );
// })
//)
.WriteTo.Async(c => c.File(
path: $@"Logs/.txt",
fileSizeLimitBytes: 1024 * 1024 * 10,
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true
))
.CreateLogger();
Log.Information("启动程序");
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
builder.Services.AddApplication<MauiTestModule>(opt => {
opt.UseAutofac();
});
builder.Services.UseSerilog();
#if DEBUG
builder.Logging.AddDebug();
#endif
var app = builder.Build();
app.Services.GetRequiredService<IAbpApplicationWithExternalServiceProvider>().Initialize(app.Services);
return app;
}
}
}