public static void ConfigureLogging(this DbContext db, Action <String> logger, LoggingCategories categories = LoggingCategories.All) { var serviceProvider = db.GetInfrastructure <IServiceProvider>(); var loggerFactory = (LoggerFactory)serviceProvider.GetService(typeof(ILoggerFactory)); if (categories == LoggingCategories.SQL) { var SqlCategories = new List <string> { DbLoggerCategory.Database.Command.Name, DbLoggerCategory.Query.Name, DbLoggerCategory.Update.Name }; LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(), loggerFactory, logger, (c, l) => SqlCategories.Contains(c)); } else if (categories == LoggingCategories.All) { LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(), loggerFactory, logger, (c, l) => true); } }
public static void ConfigureLogging(this DbContext db, Action <String> logger, Func <string, LogLevel, bool> filter) { var serviceProvider = db.GetInfrastructure <IServiceProvider>(); var loggerFactory = (ILoggerFactory)serviceProvider.GetService(typeof(ILoggerFactory)); LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(), loggerFactory, logger, filter); }
public static void ConfigureLogging(this DbContext db, Action <string> logger, LoggingCategories categories = LoggingCategories.All) { var loggerFactory = (LoggerFactory)db.GetInfrastructure().GetService(typeof(ILoggerFactory)); switch (categories) { case LoggingCategories.Sql: { var sqlCategories = new List <string> { DbLoggerCategory.Database.Command.Name, DbLoggerCategory.Query.Name, DbLoggerCategory.Update.Name }; LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(), loggerFactory, logger, (c, l) => sqlCategories.Contains(c)); break; } case LoggingCategories.All: { LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(), loggerFactory, logger, (c, l) => true); break; } } }