/// <summary> /// Logs Avalonia events to the <see cref="System.Diagnostics.Debug"/> sink. /// </summary> /// <typeparam name="T">The application class type.</typeparam> /// <param name="builder">The app builder instance.</param> /// <param name="level">The minimum level to log.</param> /// <returns>The app builder instance.</returns> public static T LogToDebug <T>( this T builder, LogEventLevel level = LogEventLevel.Warning) where T : AppBuilderBase <T>, new() { SerilogLogger.Initialize(new LoggerConfiguration() .MinimumLevel.Is((SerilogLogEventLevel)level) .Enrich.FromLogContext() .WriteTo.Debug(outputTemplate: DefaultTemplate) .CreateLogger()); return(builder); }
static void SetUpLogging() { var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json", true) .Build(); var logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .CreateLogger(); Log.Logger = logger; Log.Logger.Debug("Started logging"); SerilogLogger.Initialize(Log.Logger); }
/// <summary> /// Logs Avalonia events to the <see cref="System.Diagnostics.Debug"/> sink. /// </summary> /// <typeparam name="T">The application class type.</typeparam> /// <param name="builder">The app builder instance.</param> /// <param name="area">The area to log. Valid values are listed in <see cref="LogArea"/>.</param> /// <param name="level">The minimum level to log.</param> /// <returns>The app builder instance.</returns> public static T LogToDebug <T>( this T builder, string area, LogEventLevel level = LogEventLevel.Warning) where T : AppBuilderBase <T>, new() { SerilogLogger.Initialize(new LoggerConfiguration() .MinimumLevel.Is((SerilogLogEventLevel)level) .Filter.ByIncludingOnly(Matching.WithProperty("Area", area)) .Enrich.FromLogContext() .WriteTo.Debug(outputTemplate: DefaultTemplate) .CreateLogger()); return(builder); }
public static T LogToSerilog <T>(this T builder, ILogger baseLogger) where T : AppBuilderBase <T>, new() { SerilogLogger.Initialize(baseLogger); return(builder); }