-
在builder中添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14
var 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 6
Log.Logger = new LoggerConfiguration() //.MinimumLevel.Debug() .WriteTo.File(path) .WriteTo.AppCenterCrashes(restrictedToMinimumLevel: LogEventLevel.Information) .WriteTo.Console() .CreateLogger();
从配置文件
1 2 3
Log.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