Update configuration settings and logging behavior for SQL monitoring

- Increased thresholds for maximum query and method executions per window to 500 and 250, respectively, to reduce false positives in loop detection.
- Enabled logging of slow queries only, improving performance by reducing log volume.
- Adjusted SQL query logging to capture only warnings and errors, further optimizing logging efficiency.
- Updated various settings across appsettings files to reflect these changes, ensuring consistency in configuration.
This commit is contained in:
2025-11-24 01:02:53 +07:00
parent 372d19f840
commit fef66f6d7b
10 changed files with 56 additions and 53 deletions

View File

@@ -132,22 +132,18 @@ builder.Services.AddDbContext<ManagingDbContext>((serviceProvider, options) =>
// Enable service provider caching for better performance
options.EnableServiceProviderCaching();
// Enable comprehensive SQL query logging for monitoring and debugging
// Enable SQL query logging for warnings and errors only (reduced logging)
var logger = serviceProvider.GetRequiredService<ILogger<ManagingDbContext>>();
var sentryMonitoringService = serviceProvider.GetRequiredService<SentrySqlMonitoringService>();
options.LogTo(msg =>
{
// Log SQL queries with enhanced formatting
if (msg.Contains("Executed DbCommand") || msg.Contains("Executing DbCommand"))
{
Console.WriteLine($"[EF-SQL] {msg}");
}
else if (msg.Contains("Warning") || msg.Contains("Error"))
// Log only warnings and errors to reduce log volume
if (msg.Contains("Warning") || msg.Contains("Error"))
{
Console.WriteLine($"[EF-WARNING] {msg}");
}
}, LogLevel.Information); // Log all SQL operations for monitoring
}, LogLevel.Warning); // Log only warnings and errors to reduce SQL log volume
}, ServiceLifetime.Scoped); // Explicitly specify scoped lifetime for proper request isolation
// Add specific health checks for databases and other services