Skip to content

Commit 9436ab1

Browse files
committed
Adding logging to database query exceptions,
thanks to @Recodify
1 parent 623155d commit 9436ab1

File tree

4 files changed

+18
-11
lines changed

4 files changed

+18
-11
lines changed

Web/Controllers/ApiController.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,16 @@
77
using System.Globalization;
88
using System.Linq;
99
using System.Net;
10-
using System.Text;
11-
using System.Collections.Generic;
12-
using System.IO;
1310
using System.Text.RegularExpressions;
1411
using System.Threading.Tasks;
1512
using Microsoft.AspNetCore.Mvc;
1613
using Microsoft.AspNetCore.Hosting;
1714
using Microsoft.Extensions.Caching.Memory;
15+
using Microsoft.Extensions.Logging;
1816
using Microsoft.AspNetCore.Authorization;
1917
using Microsoft.EntityFrameworkCore;
2018
using Hangfire;
2119
using Microsoft.Extensions.Configuration;
22-
using MimeKit;
2320
using Microsoft.AspNetCore.Identity;
2421

2522
namespace QueryTree.Controllers
@@ -45,7 +42,8 @@ public ApiController(UserManager<ApplicationUser> userManager,
4542
IPasswordManager passwordManager,
4643
IConfiguration config,
4744
IScheduledEmailManager scheduledEmailManager,
48-
IWebHostEnvironment env)
45+
IWebHostEnvironment env,
46+
ILoggerFactory loggerFactory)
4947
{
5048
_userManager = userManager;
5149
db = dbContext;
@@ -54,7 +52,7 @@ public ApiController(UserManager<ApplicationUser> userManager,
5452
_config = config;
5553
_scheduledEmailManager = scheduledEmailManager;
5654
_env = env;
57-
_dbMgr = new DbManager(passwordManager, cache, config);
55+
_dbMgr = new DbManager(passwordManager, cache, config, loggerFactory);
5856
this.convertManager = new ConvertManager();
5957
}
6058

Web/Controllers/HomeController.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using Microsoft.AspNetCore.Authorization;
1010
using Microsoft.Extensions.Caching.Memory;
1111
using Microsoft.Extensions.Configuration;
12+
using Microsoft.Extensions.Logging;
1213
using Microsoft.EntityFrameworkCore;
1314
using QueryTree.Enums;
1415

@@ -26,10 +27,11 @@ public HomeController(
2627
UserManager<ApplicationUser> userManager,
2728
IPasswordManager passwordManager,
2829
IConfiguration config,
29-
IMemoryCache cache)
30+
IMemoryCache cache,
31+
ILoggerFactory loggerFactory)
3032
: base(userManager, dbContext)
3133
{
32-
_dbMgr = new DbManager(passwordManager, cache, config);
34+
_dbMgr = new DbManager(passwordManager, cache, config, loggerFactory);
3335
_passwordManager = passwordManager;
3436
}
3537

Web/Managers/DbManager.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using QueryTree.Enums;
1414
using QueryTree.ViewModels;
1515
using System.Text.RegularExpressions;
16+
using Microsoft.Extensions.Logging;
1617

1718

1819
namespace QueryTree.Managers
@@ -22,12 +23,14 @@ public class DbManager
2223
private IPasswordManager _passwordManager;
2324
private IMemoryCache _cache;
2425
private IConfiguration _config;
26+
private readonly ILogger _logger;
2527

26-
public DbManager(IPasswordManager passwordManager, IMemoryCache cache, IConfiguration config)
28+
public DbManager(IPasswordManager passwordManager, IMemoryCache cache, IConfiguration config, ILoggerFactory loggerFactory)
2729
{
2830
_passwordManager = passwordManager;
2931
_cache = cache;
3032
_config = config;
33+
_logger = loggerFactory.CreateLogger<DbManager>();
3134
}
3235

3336
private DbTable GetDbTable(DatabaseType type, DbConnection conn, int connectionId, string databaseName, string tableName)
@@ -587,10 +590,12 @@ public bool TryUseDbConnection(DatabaseType type, string server, int port, bool
587590
}
588591
catch (SqlException e)
589592
{
593+
_logger.LogError(e, "Unable to query db");
590594
error = e.Message;
591595
}
592596
catch (Exception e)
593597
{
598+
_logger.LogError(e, "Unable to query db");
594599
error = e.Message;
595600
}
596601

Web/Managers/ScheduledEmailManager.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using Microsoft.EntityFrameworkCore;
99
using Microsoft.Extensions.Configuration;
1010
using Microsoft.Extensions.Caching.Memory;
11+
using Microsoft.Extensions.Logging;
1112
using QueryTree.Services;
1213

1314
namespace QueryTree.Managers
@@ -36,14 +37,15 @@ public ScheduledEmailManager(
3637
ApplicationDbContext db,
3738
IWebHostEnvironment env,
3839
IMemoryCache cache,
39-
IPasswordManager passwordManager)
40+
IPasswordManager passwordManager,
41+
ILoggerFactory loggerFactory)
4042
{
4143
_emailSenderService = emailSenderService;
4244
_emailSender = emailSender;
4345
_config = config;
4446
_db = db;
4547
_env = env;
46-
_dbMgr = new DbManager(passwordManager, cache, config);
48+
_dbMgr = new DbManager(passwordManager, cache, config, loggerFactory);
4749
_convertManager = new ConvertManager();
4850
}
4951

0 commit comments

Comments
 (0)