У меня есть консольное .net-приложение, использующее ядро сущности. Приложение использует структуру ведения журнала для записи в файл и консоль:
serviceProvider = new ServiceCollection()
.AddLogging()
.AddDbContext<DataStoreContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")))
.BuildServiceProvider();
//configure console logging
serviceProvider.GetService<ILoggerFactory>()
.AddConsole(LogLevel.Debug)
.AddSerilog();
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.RollingFile(Path.Combine(Directory.GetCurrentDirectory(), "logs/vcibot-{Date}.txt"))
.WriteTo.RollingFile(Path.Combine(Directory.GetCurrentDirectory(), "logs/vcibot-errors-{Date}.txt"), LogEventLevel.Error)
.CreateLogger();
logger = serviceProvider.GetService<ILoggerFactory>()
.CreateLogger<Program>();
Минимальный уровень для выхода файла установлен в Информацию. Но с этим выходом setup также содержатся SQL-запросы, вот пример:
2017-02-06 10: 31: 38.282 -08: 00 [Информация] Выполнено DbCommand (0ms) [Parameters = [], CommandType = 'Text', CommandTimeout = '30 '] SELECT [f]. [BuildIdentifier], [f]. [Branch], [f]. [BuildDate], [f]. [StaticAssetSizeInKb] FROM [FileSizesHistoryEntries] AS [f]
Есть ли способ отключить ведение журналов SQL-запросов (регистрировать их только на уровне журнала отладки)