-
在builder中添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }) .Logging.AddSerilog(Log.Logger); //注意将模板中的代码禁掉 //#if DEBUG //builder.Logging.AddDebug(); //#endif -
在其他任意位置实例化Log.Logger
1 2 3 4 5 6Log.Logger = new LoggerConfiguration() //.MinimumLevel.Debug() .WriteTo.File(path) .WriteTo.AppCenterCrashes(restrictedToMinimumLevel: LogEventLevel.Information) .WriteTo.Console() .CreateLogger();从配置文件
1 2 3Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .CreateLogger();1 2 3// 兼容跨平台 var options = new ConfigurationReaderOptions(typeof(MauiProgram).Assembly, typeof(SerilogExpression).Assembly); services.AddSerilog(config => { new LoggerConfiguration().ReadFrom.Configuration(configuration, options); });1 2 3 4 5 6 7 8 9 10 11 12#if ANDROID var logDirectory = Android.App.Application.Context.GetExternalFilesDir(null); if (logDirectory != null) { var logger = new LoggerConfiguration() .WriteTo.File(Path.Combine(logDirectory.AbsolutePath, "log.txt"), Serilog.Events.LogEventLevel.Verbose, rollingInterval: RollingInterval.Day) .CreateLogger(); services.AddSerilog(logger); } #else services.AddSerilog(new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger()); #endif