From b6b91c63b6fca96e74b20d89e1aab441f38e071d Mon Sep 17 00:00:00 2001 From: hramirez Date: Fri, 16 Feb 2024 11:26:25 -0600 Subject: [PATCH 1/2] =?UTF-8?q?Se=20actualiza=20a=20la=20ultima=20versi?= =?UTF-8?q?=C3=B3n=20#126=20from=20IzyPro/v1.4.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 66 +++-- WatchDog/WatchDog.csproj | 11 +- WatchDog/WatchDogExtension.cs | 34 ++- WatchDog/WatchDogLoggerExtension.cs | 17 ++ .../src/Controllers/WatchPageController.cs | 37 ++- WatchDog/src/Data/ExternalDbContext.cs | 77 ++++- ...lDriverEnum.cs => WatchDogDbDriverEnum.cs} | 5 +- WatchDog/src/Enums/WatchDogSerializerEnum.cs | 6 +- .../Exceptions/WatchDogDatabaseException.cs | 4 +- .../src/Filters/CustomAuthenticationFilter.cs | 21 ++ WatchDog/src/Helpers/CallerHelper.cs | 28 ++ WatchDog/src/Helpers/GeneralHelper.cs | 14 +- WatchDog/src/Helpers/LiteDBHelper.cs | 65 ++--- WatchDog/src/Helpers/MongoDBHelper.cs | 126 +++++++++ WatchDog/src/Helpers/PaginatedEnumerable.cs | 8 + .../{ExternalDbHelper.cs => SQLDbHelper.cs} | 37 +-- WatchDog/src/Managers/DynamicDBManager.cs | 106 +++++-- WatchDog/src/Models/Sequence.cs | 12 + WatchDog/src/Models/WatchDogConfigModel.cs | 7 +- WatchDog/src/Models/WatchLoggerModel.cs | 1 + WatchDog/src/Utilities/Constants.cs | 1 + WatchDog/src/WatchDog.cs | 1 - WatchDog/src/WatchLogger.cs | 110 ++++++-- WatchDog/src/WatchPage/index.html | 262 +++++++++++------- .../Controllers/TestController.cs | 15 +- WatchDogCompleteApiNet6/Program.cs | 8 +- WatchDogCompleteApiNet6/watchlogs-log.db | Bin 0 -> 1777664 bytes WatchDogCompleteApiNet6/watchlogs.db | Bin 57344 -> 6258688 bytes .../Controllers/TestController.cs | 7 + WatchDogCompleteTestAPI/Program.cs | 5 + WatchDogCompleteTestAPI/Startup.cs | 6 +- WatchDogCompleteTestAPI/watchlogs-log.db | Bin 2539520 -> 3678208 bytes 32 files changed, 825 insertions(+), 272 deletions(-) create mode 100644 WatchDog/WatchDogLoggerExtension.cs rename WatchDog/src/Enums/{WatchDogSqlDriverEnum.cs => WatchDogDbDriverEnum.cs} (53%) create mode 100644 WatchDog/src/Filters/CustomAuthenticationFilter.cs create mode 100644 WatchDog/src/Helpers/CallerHelper.cs create mode 100644 WatchDog/src/Helpers/MongoDBHelper.cs rename WatchDog/src/Helpers/{ExternalDbHelper.cs => SQLDbHelper.cs} (80%) create mode 100644 WatchDog/src/Models/Sequence.cs diff --git a/README.md b/README.md index 1778e62..66bb08d 100644 --- a/README.md +++ b/README.md @@ -3,20 +3,20 @@ [![WatchDog](https://img.shields.io/badge/WatchDog-blueviolet)](https://github.com/IzyPro/WatchDog) [![Version](https://img.shields.io/nuget/vpre/WatchDog.NET?color=orange)](https://www.nuget.org/packages/WatchDog.NET#versions-tab) +[![Downloads](https://img.shields.io/nuget/dt/WatchDog.NET?color=red)](https://www.nuget.org/packages/WatchDog.NET#versions-tab) [![MIT License](https://img.shields.io/github/license/IzyPro/WatchDog?color=Green)](https://github.com/IzyPro/WatchDog/blob/main/LICENSE) -[![WatchDog](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fgithub.com%2FIzyPro%2FWatchDog)](https://twitter.com/intent/tweet?hashtags=WatchDog&original_referer=https%3A%2F%2Fdeveloper.twitter.com%2F&ref_src=twsrc%5Etfw%7Ctwcamp%5Ebuttonembed%7Ctwterm%5Eshare%7Ctwgr%5E&related=twitterapi%2Ctwitter&text=Hello%2C%20world!%0DCheck%20out%20this%20awesome%20developer%20tool&url=https%3A%2F%2Fgithub.com%2FIzyPro%2FWatchDog&via=WatchDog) +[![WatchDog](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fgithub.com%2FIzyPro%2FWatchDog)](https://twitter.com/intent/tweet?hashtags=WatchDog&original_referer=https%3A%2F%2Fdeveloper.twitter.com%2F&ref_src=twsrc%5Etfw%7Ctwcamp%5Ebuttonembed%7Ctwterm%5Eshare%7Ctwgr%5E&related=twitterapi%2Ctwitter&text=Hello%2C%20world!%0DCheck%20out%20this%20awesome%20developer%20tool&url=https%3A%2F%2Fgithub.com%2FIzyPro%2FWatchDog&via=HQWatchdog) ## Introduction WatchDog is a Realtime Message, Event, HTTP (Request & Response) and Exception logger and viewer for ASP.Net Core Web Apps and APIs. It allows developers log and view messages, events, http requests made to their web application and also exception caught during runtime in their web applications, all in Realtime. -It leverages `SignalR` for real-time monitoring and `LiteDb` a Serverless MongoDB-like database with no configuration with the option of using your external MSSQL, MySQl or Postgres databases. +It leverages `SignalR` for real-time monitoring and `LiteDb` a Serverless MongoDB-like database with no configuration with the option of using your external databases (MSSQL, MySQl, Postgres, MongoDB). # ![Request & Response Viewer](https://github.com/IzyPro/WatchDog/blob/main/watchlog.png) ## General Features -- RealTime HTTP Request and Response Logger -- RealTime Exception Logger +- RealTime HTTP Request, Response, and Exception Logger - In-code message and event logging - User Friendly Logger Views - Search Option for HTTP and Exception Logs @@ -26,17 +26,13 @@ It leverages `SignalR` for real-time monitoring and `LiteDb` a Serverless MongoD ## What's New -- Log Level (Info, Error, Warning) -- Extra AutoClear Durations (Hourly, Every6Hours, Every12Hours) -- Optimized Queries -- Cors Support -- Global Json Serializer Support +- Security Optimization +- Query Filters Fixes and Optimizations +- Package Assembly as DB Name Fix(MongoDB) -## Fixes +### Breaking Changes -- Postgres byte error -- OutOfRangeException -- Embedded DB Memory Release on Clear Logs +- SqlDriverOption is now DbDriverOption (>= 1.4.0) ## Support @@ -47,12 +43,12 @@ It leverages `SignalR` for real-time monitoring and `LiteDb` a Serverless MongoD Install via .NET CLI ```bash -dotnet add package WatchDog.NET --version 1.3.3 +dotnet add package WatchDog.NET --version 1.4.10 ``` Install via Package Manager ```bash -Install-Package WatchDog.NET --version 1.3.3 +Install-Package WatchDog.NET --version 1.4.10 ``` @@ -91,15 +87,15 @@ services.AddWatchDogServices(opt => }); ``` -### Setup Logging to External Db (MSSQL, MySQL & PostgreSQL) `Optional` -Add Database Connection String and Choose SqlDriver Option +### Setup Logging to External Db (MSSQL, MySQL, PostgreSQL & MongoDb) `Optional` +Add Database Connection String and Choose DbDriver Option ```c# services.AddWatchDogServices(opt => { opt.IsAutoClear = false; opt.SetExternalDbConnString = "Server=localhost;Database=testDb;User Id=postgres;Password=root;"; - opt.SqlDriverOption = WatchDogSqlDriverEnum.PostgreSql; + opt.DbDriverOption = WatchDogSqlDriverEnum.PostgreSql; }); ``` @@ -123,14 +119,14 @@ app.UseWatchDog(opt => >**NOTE** -> If your project uses authentication, then `app.UseWatchDog();` should come before app.UseRouting(), app.UseAuthentication(), app.UseAuthorization(), in that order +> If your project uses authentication, then `app.UseWatchDog();` should come after app.UseRouting(), app.UseAuthentication(), app.UseAuthorization(), in that order # ![Request and Response Sample Details](https://github.com/IzyPro/WatchDog/blob/main/requestLog.png) #### Optional Configurations: `Optional` -- Blacklist: List of routes, paths or specific strings to be ignored (should be a comma separated string like below). +- Blacklist: List of routes, paths or endpoints to be ignored (should be a comma separated string like below). - Serializer: If not default, specify the type of global json serializer/converter used - CorsPolicy: Policy Name if project uses CORS @@ -140,7 +136,7 @@ app.UseWatchDog(opt => opt.WatchPageUsername = "admin"; opt.WatchPagePassword = "Qwerty@123"; //Optional - opt.Blacklist = "Test/testPost, weatherforecast"; //Prevent logging for specified endpoints + opt.Blacklist = "Test/testPost, api/auth/login"; //Prevent logging for specified endpoints opt.Serializer = WatchDogSerializerEnum.Newtonsoft; //If your project use a global json converter opt.CorsPolicy = "MyCorsPolicy" }); @@ -168,12 +164,32 @@ app.UseWatchDog(opt => ``` ### Log Messages/Events ``` -WatchLogger.Log("...TestGet Started..."); +WatchLogger.Log("...Test Log..."); WatchLogger.LogWarning(JsonConvert.Serialize(model)); -WatchLogger.LogError(res.Content); +WatchLogger.LogError(res.Content, eventId: reference); ``` + # ![In-code log messages](https://github.com/IzyPro/WatchDog/blob/main/in-code.png) +#### Sink Logs from ILogger +You can also sink logs from the .NET ILogger into WatchDog + +For .NET 6 and above +``` +builder.Logging.AddWatchDogLogger(); +``` +For .NET Core 3.1, configure logging and add `.AddWatchDogLogger()` to the `CreateHostBuilder` method of the `Program.cs` class +``` +Host.CreateDefaultBuilder(args) + .ConfigureLogging( logging => + { + logging.AddWatchDogLogger(); + }) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }); +``` ### View Logs and Exception Start your server and head to `/watchdog` to view the logs. @@ -192,3 +208,7 @@ Alternatively, open an issue and we'll get to it as soon as we can. Kelechi Onyekwere - [Github](https://github.com/Khelechy) [Twitter](https://twitter.com/khelechy1337) Israel Ulelu - [Github](https://github.com/IzyPro) [Twitter](https://twitter.com/IzyPro_) + + + +### [Official Documentation](https://watchdog-3.gitbook.io/watchdog) diff --git a/WatchDog/WatchDog.csproj b/WatchDog/WatchDog.csproj index 5b2693b..962858e 100644 --- a/WatchDog/WatchDog.csproj +++ b/WatchDog/WatchDog.csproj @@ -2,7 +2,7 @@ netcoreapp3.1;net6.0 - WatchDog is a Realtime Message, Event, HTTP (Request & Response) and Exception logger and viewer for ASP.Net Core Web Apps and APIs. It allows developers log and view messages, events, http requests made to their web application and also exception caught during runtime in their web applications, all in Realtime. It leverages SignalR for real-time monitoring and LiteDb a Serverless MongoDB-like database with no configuration with the option of using your external MSSQL, MySQl or Postgres databases. + WatchDog is a Realtime Message, Event, HTTP (Request & Response) and Exception logger and viewer for ASP.Net Core Web Apps and APIs. It allows developers log and view messages, events, http requests made to their web application and also exception caught during runtime in their web applications, all in Realtime. It leverages SignalR for real-time monitoring and LiteDb a Serverless MongoDB-like database with no configuration with the option of using your external databases. https://github.com/IzyPro/WatchDog favicon.png README.md @@ -12,9 +12,13 @@ Israel Ulelu, Kelechi Onyekwere WatchDog.NET MIT - 1.3.3-rc - - Query Optimization, Log Level (Info, Error, Warning), [Fix] Postgres Byte error + 1.4.10 + - Security Optimization +- Query Filters Fixes and Optimizations +- Package Assembly as DB Name Fix(MongoDB) False + True + snupkg @@ -51,6 +55,7 @@ + diff --git a/WatchDog/WatchDogExtension.cs b/WatchDog/WatchDogExtension.cs index 6fee780..e6c4597 100644 --- a/WatchDog/WatchDogExtension.cs +++ b/WatchDog/WatchDogExtension.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.FileProviders; using System; @@ -32,12 +33,23 @@ public static IServiceCollection AddWatchDogServices(this IServiceCollection ser AutoClearModel.IsAutoClear = options.IsAutoClear; AutoClearModel.ClearTimeSchedule = options.ClearTimeSchedule; WatchDogExternalDbConfig.ConnectionString = options.SetExternalDbConnString; - WatchDogSqlDriverOption.SqlDriverOption = options.SqlDriverOption; + WatchDogDatabaseDriverOption.DatabaseDriverOption = options.DbDriverOption; + WatchDogExternalDbConfig.MongoDbName = Assembly.GetCallingAssembly().GetName().Name?.Replace('.', '_') + "_WatchDogDB"; - if (!string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString) && WatchDogSqlDriverOption.SqlDriverOption == 0) - throw new WatchDogDBDriverException("Missing DB Driver Option: SQLDriverOption is required at .AddWatchDogServices()"); - if (WatchDogSqlDriverOption.SqlDriverOption != 0 && string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString)) + if (!string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString) && WatchDogDatabaseDriverOption.DatabaseDriverOption == 0) + throw new WatchDogDBDriverException("Missing DB Driver Option: DbDriverOption is required at .AddWatchDogServices()"); + if (WatchDogDatabaseDriverOption.DatabaseDriverOption != 0 && string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString)) throw new WatchDogDatabaseException("Missing connection string."); + + services.AddDistributedMemoryCache(); + + services.AddSession(options => + { + options.IdleTimeout = TimeSpan.FromMinutes(5); + options.Cookie.HttpOnly = true; + options.Cookie.IsEssential = true; + }); + services.AddSignalR(); services.AddMvcCore(x => { @@ -45,13 +57,20 @@ public static IServiceCollection AddWatchDogServices(this IServiceCollection ser }).AddApplicationPart(typeof(WatchDogExtension).Assembly); services.AddSingleton(); + services.AddSingleton(); if (!string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString)) { - ExternalDbContext.Migrate(); + if (WatchDogDatabaseDriverOption.DatabaseDriverOption == src.Enums.WatchDogDbDriverEnum.Mongo) + { + ExternalDbContext.MigrateNoSql(); + } + else + { + ExternalDbContext.Migrate(); + } } - if (AutoClearModel.IsAutoClear) services.AddHostedService(); @@ -60,7 +79,6 @@ public static IServiceCollection AddWatchDogServices(this IServiceCollection ser public static IApplicationBuilder UseWatchDogExceptionLogger(this IApplicationBuilder builder) { - return builder.UseMiddleware(); } @@ -95,6 +113,8 @@ public static IApplicationBuilder UseWatchDog(this IApplicationBuilder app, Acti app.UseAuthorization(); + app.UseSession(); + if (!string.IsNullOrEmpty(options.CorsPolicy)) app.UseCors(options.CorsPolicy); diff --git a/WatchDog/WatchDogLoggerExtension.cs b/WatchDog/WatchDogLoggerExtension.cs new file mode 100644 index 0000000..7f7b5c3 --- /dev/null +++ b/WatchDog/WatchDogLoggerExtension.cs @@ -0,0 +1,17 @@ +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; + +namespace WatchDog +{ + public static class WatchDogLoggerExtension + { + // + // Summary: + // Uses built in ILogger. Note: caller info has an overhead of about <= 4ms + public static ILoggingBuilder AddWatchDogLogger(this ILoggingBuilder builder, bool logCallerInfo = true, bool log = true) + { + builder.Services.AddSingleton(_ => new WatchDogLoggerProvider(log, logCallerInfo)); + return builder; + } + } +} diff --git a/WatchDog/src/Controllers/WatchPageController.cs b/WatchDog/src/Controllers/WatchPageController.cs index e705aff..ea70e25 100644 --- a/WatchDog/src/Controllers/WatchPageController.cs +++ b/WatchDog/src/Controllers/WatchPageController.cs @@ -1,6 +1,11 @@ using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Caching.Memory; +using System; +using System.Linq; using System.Threading.Tasks; +using WatchDog.src.Filters; using WatchDog.src.Helpers; using WatchDog.src.Managers; using WatchDog.src.Models; @@ -10,23 +15,33 @@ namespace WatchDog.src.Controllers [AllowAnonymous] public class WatchPageController : Controller { + public WatchPageController() + { + + } + + [CustomAuthenticationFilter] public async Task Index(string searchString = "", string verbString = "", string statusCode = "", int pageNumber = 1) { var result = await DynamicDBManager.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber); return Json(new { PageIndex = result.PageIndex, TotalPages = result.TotalPages, HasNext = result.HasNextPage, HasPrevious = result.HasPreviousPage, logs = result.Data }, GeneralHelper.CamelCaseSerializer); } + [CustomAuthenticationFilter] public async Task Exceptions(string searchString = "", int pageNumber = 1) { var result = await DynamicDBManager.GetAllWatchExceptionLogs(searchString, pageNumber); return Json(new { PageIndex = result.PageIndex, TotalPages = result.TotalPages, HasNext = result.HasNextPage, HasPrevious = result.HasPreviousPage, logs = result.Data }, GeneralHelper.CamelCaseSerializer); } + + [CustomAuthenticationFilter] public async Task Logs(string searchString = "", string logLevelString = "", int pageNumber = 1) { var result = await DynamicDBManager.GetAllLogs(searchString, logLevelString, pageNumber); - return Json(new { PageIndex = result.PageIndex, TotalPages = result.TotalPages, HasNext = result.HasNextPage, HasPrevious = result.HasPreviousPage, logs = result .Data}, GeneralHelper.CamelCaseSerializer); + return Json(new { PageIndex = result.PageIndex, TotalPages = result.TotalPages, HasNext = result.HasNextPage, HasPrevious = result.HasPreviousPage, logs = result.Data }, GeneralHelper.CamelCaseSerializer); } + [CustomAuthenticationFilter] public async Task ClearLogs() { var cleared = await DynamicDBManager.ClearLogs(); @@ -40,6 +55,7 @@ public JsonResult Auth(string username, string password) if (username.ToLower() == WatchDogConfigModel.UserName.ToLower() && password == WatchDogConfigModel.Password) { + HttpContext.Session.SetString("isAuth", "true"); return Json(true); } else @@ -47,5 +63,24 @@ public JsonResult Auth(string username, string password) return Json(false); } } + + public JsonResult LogOut() + { + HttpContext.Session.Remove("isAuth"); + return Json(true); + } + + public JsonResult IsAuth() + { + + if (!HttpContext.Session.TryGetValue("isAuth", out var isAuth)) + { + return Json(false); + } + else + { + return Json(true); + } + } } } diff --git a/WatchDog/src/Data/ExternalDbContext.cs b/WatchDog/src/Data/ExternalDbContext.cs index 5b675c4..500035b 100644 --- a/WatchDog/src/Data/ExternalDbContext.cs +++ b/WatchDog/src/Data/ExternalDbContext.cs @@ -1,4 +1,6 @@ using Dapper; +using MongoDB.Bson; +using MongoDB.Driver; using MySql.Data.MySqlClient; using Npgsql; using System; @@ -16,23 +18,22 @@ internal static class ExternalDbContext { private static string _connectionString = WatchDogExternalDbConfig.ConnectionString; - public static IDbConnection CreateConnection() - => WatchDogSqlDriverOption.SqlDriverOption switch + public static IDbConnection CreateSQLConnection() + => WatchDogDatabaseDriverOption.DatabaseDriverOption switch { - WatchDogSqlDriverEnum.MSSQL => CreateMSSQLConnection(), - WatchDogSqlDriverEnum.MySql => CreateMySQLConnection(), - WatchDogSqlDriverEnum.PostgreSql => CreatePostgresConnection(), + WatchDogDbDriverEnum.MSSQL => CreateMSSQLConnection(), + WatchDogDbDriverEnum.MySql => CreateMySQLConnection(), + WatchDogDbDriverEnum.PostgreSql => CreatePostgresConnection(), _ => throw new NotSupportedException() }; - public static void Migrate() => BootstrapTables(); public static void BootstrapTables() { var createWatchTablesQuery = GetSqlQueryString(); - using (var connection = CreateConnection()) + using (var connection = CreateSQLConnection()) { try { @@ -50,12 +51,49 @@ public static void BootstrapTables() throw new WatchDogDatabaseException(ex.Message); } } + + } + + public static void MigrateNoSql() + { + try + { + var mongoClient = CreateMongoDBConnection(); + var database = mongoClient.GetDatabase(WatchDogExternalDbConfig.MongoDbName); + _ = database.GetCollection(Constants.WatchLogTableName); + _ = database.GetCollection(Constants.WatchLogExceptionTableName); + _ = database.GetCollection(Constants.LogsTableName); + + //Seed counterDb + var filter = new BsonDocument("name", Constants.WatchDogMongoCounterTableName); + + // Check if the collection exists + var collections = database.ListCollections(new ListCollectionsOptions { Filter = filter }); + + bool exists = collections.Any(); + var _counter = database.GetCollection(Constants.WatchDogMongoCounterTableName); + + if (!exists) + { + var sequence = new Sequence + { + _Id = "sequenceId", + Value = 0 + }; + _counter.InsertOne(sequence); + } + } + catch(Exception ex) + { + Debug.WriteLine(ex.Message.ToString()); + throw new WatchDogDatabaseException(ex.Message); + } } public static string GetSqlQueryString() => - WatchDogSqlDriverOption.SqlDriverOption switch + WatchDogDatabaseDriverOption.DatabaseDriverOption switch { - WatchDogSqlDriverEnum.MSSQL => @$" + WatchDogDbDriverEnum.MSSQL => @$" IF OBJECT_ID('dbo.{Constants.WatchLogTableName}', 'U') IS NULL CREATE TABLE {Constants.WatchLogTableName} ( id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, responseBody VARCHAR(max), @@ -86,6 +124,7 @@ encounteredAt VARCHAR(100) NOT NULL ); IF OBJECT_ID('dbo.{Constants.LogsTableName}', 'U') IS NULL CREATE TABLE {Constants.LogsTableName} ( id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, + eventId VARCHAR(100), message VARCHAR(max), timestamp VARCHAR(100) NOT NULL, callingFrom VARCHAR(100), @@ -95,12 +134,12 @@ logLevel VARCHAR(30) ); ", - WatchDogSqlDriverEnum.MySql => @$" + WatchDogDbDriverEnum.MySql => @$" CREATE TABLE IF NOT EXISTS {Constants.WatchLogTableName} ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, responseBody TEXT(65535), responseStatus INT NOT NULL, - requestBody VARCHAR(65535), + requestBody TEXT(65535), queryString VARCHAR(65535), path VARCHAR(65535), requestHeaders TEXT(65535), @@ -126,6 +165,7 @@ encounteredAt VARCHAR(100) NOT NULL ); CREATE TABLE IF NOT EXISTS {Constants.LogsTableName} ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, + eventId VARCHAR(100), message TEXT(65535), timestamp VARCHAR(100) NOT NULL, callingFrom VARCHAR(100), @@ -135,7 +175,7 @@ logLevel VARCHAR(30) ); ", - WatchDogSqlDriverEnum.PostgreSql => @$" + WatchDogDbDriverEnum.PostgreSql => @$" CREATE TABLE IF NOT EXISTS {Constants.WatchLogTableName} ( id SERIAL PRIMARY KEY, responseBody VARCHAR, @@ -166,6 +206,7 @@ encounteredAt TIMESTAMP with time zone NOT NULL ); CREATE TABLE IF NOT EXISTS {Constants.LogsTableName} ( id SERIAL PRIMARY KEY, + eventId VARCHAR(100), message VARCHAR, timestamp TIMESTAMP with time zone NOT NULL, callingFrom VARCHAR, @@ -212,5 +253,17 @@ public static SqlConnection CreateMSSQLConnection() throw new WatchDogDatabaseException(ex.Message); } } + + public static MongoClient CreateMongoDBConnection() + { + try + { + return new MongoClient(_connectionString); + } + catch (Exception ex) + { + throw new WatchDogDatabaseException(ex.Message); + } + } } } diff --git a/WatchDog/src/Enums/WatchDogSqlDriverEnum.cs b/WatchDog/src/Enums/WatchDogDbDriverEnum.cs similarity index 53% rename from WatchDog/src/Enums/WatchDogSqlDriverEnum.cs rename to WatchDog/src/Enums/WatchDogDbDriverEnum.cs index 978e16b..aa6c666 100644 --- a/WatchDog/src/Enums/WatchDogSqlDriverEnum.cs +++ b/WatchDog/src/Enums/WatchDogDbDriverEnum.cs @@ -1,9 +1,10 @@ namespace WatchDog.src.Enums { - public enum WatchDogSqlDriverEnum + public enum WatchDogDbDriverEnum { MSSQL = 1, MySql, - PostgreSql + PostgreSql, + Mongo } } diff --git a/WatchDog/src/Enums/WatchDogSerializerEnum.cs b/WatchDog/src/Enums/WatchDogSerializerEnum.cs index 739c326..030692d 100644 --- a/WatchDog/src/Enums/WatchDogSerializerEnum.cs +++ b/WatchDog/src/Enums/WatchDogSerializerEnum.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WatchDog.src.Enums +namespace WatchDog.src.Enums { public enum WatchDogSerializerEnum { diff --git a/WatchDog/src/Exceptions/WatchDogDatabaseException.cs b/WatchDog/src/Exceptions/WatchDogDatabaseException.cs index b5aa20a..bb4ca3e 100644 --- a/WatchDog/src/Exceptions/WatchDogDatabaseException.cs +++ b/WatchDog/src/Exceptions/WatchDogDatabaseException.cs @@ -7,9 +7,11 @@ internal class WatchDogDatabaseException : Exception internal WatchDogDatabaseException() { } internal WatchDogDatabaseException(string message) - : base(String.Format("WatchDog Database Exception: {0} Ensure you have passed the right SQLDriverOption at .AddWatchDogServices() as well as all required parameters for the database connection string", message)) + : base(String.Format("WatchDog Database Exception: {0} Ensure you have passed the right Database Driver Option or a proper connection string at .AddWatchDogServices() as well as all required parameters for the database connection string", message)) { } + + } } diff --git a/WatchDog/src/Filters/CustomAuthenticationFilter.cs b/WatchDog/src/Filters/CustomAuthenticationFilter.cs new file mode 100644 index 0000000..b340957 --- /dev/null +++ b/WatchDog/src/Filters/CustomAuthenticationFilter.cs @@ -0,0 +1,21 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.Extensions.Caching.Memory; +using Microsoft.Extensions.DependencyInjection; +using System; + +namespace WatchDog.src.Filters +{ + internal class CustomAuthenticationFilter : Attribute, IAuthorizationFilter + { + public void OnAuthorization(AuthorizationFilterContext context) + { + + if (!context.HttpContext.Session.TryGetValue("isAuth", out var isAuth)) + { + context.Result = new UnauthorizedResult(); + } + } + } +} diff --git a/WatchDog/src/Helpers/CallerHelper.cs b/WatchDog/src/Helpers/CallerHelper.cs new file mode 100644 index 0000000..f872a00 --- /dev/null +++ b/WatchDog/src/Helpers/CallerHelper.cs @@ -0,0 +1,28 @@ +using System.Diagnostics; + +namespace WatchDog.src.Helpers +{ + public static class CallerHelper + { + public static (string callerName, string filePath, int lineNumber) GetCaller(this StackFrame[] stackFrames) + { + for (int i = 0; i < stackFrames.Length; i++) + { + var method = stackFrames[i].GetMethod(); + var name = method?.DeclaringType?.Assembly.GetName().Name; + + switch (name) + { + case "Microsoft.Extensions.Logging": + case "Microsoft.Extensions.Logging.Abstractions": + case "System.Runtime.CompilerServices": + case "WatchDog": + continue; + } + + return (method?.Name ?? string.Empty, stackFrames[i].GetFileName() ?? string.Empty, stackFrames[i].GetFileLineNumber()); + } + return (string.Empty, string.Empty, 0); + } + } +} diff --git a/WatchDog/src/Helpers/GeneralHelper.cs b/WatchDog/src/Helpers/GeneralHelper.cs index 88c350f..e1c2ea2 100644 --- a/WatchDog/src/Helpers/GeneralHelper.cs +++ b/WatchDog/src/Helpers/GeneralHelper.cs @@ -1,5 +1,7 @@ -using Newtonsoft.Json; +using Microsoft.Extensions.Caching.Memory; +using Newtonsoft.Json; using Newtonsoft.Json.Serialization; +using System; using System.IO; using System.Text.Json; using WatchDog.src.Enums; @@ -29,7 +31,7 @@ public static string ReadStreamInChunks(Stream stream) public static bool IsPostgres() { - return !string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString) && WatchDogSqlDriverOption.SqlDriverOption == Enums.WatchDogSqlDriverEnum.PostgreSql; + return !string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString) && WatchDogDatabaseDriverOption.DatabaseDriverOption == Enums.WatchDogDbDriverEnum.PostgreSql; } public static dynamic CamelCaseSerializer @@ -44,5 +46,13 @@ public static dynamic CamelCaseSerializer PropertyNamingPolicy = JsonNamingPolicy.CamelCase } }; + public static MemoryCacheEntryOptions cacheEntryOptions { + get + { + return new MemoryCacheEntryOptions() + .SetSlidingExpiration(TimeSpan.FromMinutes(5)) + .SetPriority(CacheItemPriority.High); + } + } } } diff --git a/WatchDog/src/Helpers/LiteDBHelper.cs b/WatchDog/src/Helpers/LiteDBHelper.cs index 14f7a5d..b72736f 100644 --- a/WatchDog/src/Helpers/LiteDBHelper.cs +++ b/WatchDog/src/Helpers/LiteDBHelper.cs @@ -10,6 +10,8 @@ internal static class LiteDBHelper static ILiteCollection _watchExLogs = db.GetCollection("WatchExceptionLogs"); static ILiteCollection _logs = db.GetCollection("Logs"); + + //WATCH lOGS OPERATION public static Page GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber) { var query = _watchLogs.Query(); @@ -28,41 +30,13 @@ public static Page GetAllWatchLogs(string searchString, string verbStr { query.Where(l => l.ResponseStatus.ToString() == statusCode); } - return query.OrderByDescending(x => x.StartTime).ToPaginatedList(pageNumber); - } - - public static bool ClearAllLogs() - { - var watchLogs = ClearWatchLog(); - var exLogs = ClearWatchExceptionLog(); - var logs = ClearLogs(); - - db.Rebuild(); - - return watchLogs > 1 && exLogs > 1 && logs > 1; - } - - //WATCH lOGS OPERATION - public static WatchLog GetWatchLogById(int id) - { - return _watchLogs.FindById(id); + return query.OrderByDescending(x => x.Id).ToPaginatedList(pageNumber); } - public static int InsertWatchLog(WatchLog log) { return _watchLogs.Insert(log); } - public static bool UpdateWatchLog(WatchLog log) - { - return _watchLogs.Update(log); - } - - public static bool DeleteWatchLog(int id) - { - return _watchLogs.Delete(id); - } - public static int ClearWatchLog() { return _watchLogs.DeleteAll(); @@ -78,28 +52,13 @@ public static Page GetAllWatchExceptionLogs(string searchStri searchString = searchString.ToLower(); query.Where(l => l.Message.ToLower().Contains(searchString) || l.StackTrace.ToLower().Contains(searchString) || l.Source.ToLower().Contains(searchString)); } - return query.OrderByDescending(x => x.EncounteredAt).ToPaginatedList(pageNumber); - } - - public static WatchExceptionLog GetWatchExceptionLogById(int id) - { - return _watchExLogs.FindById(id); + return query.OrderByDescending(x => x.Id).ToPaginatedList(pageNumber); } public static int InsertWatchExceptionLog(WatchExceptionLog log) { return _watchExLogs.Insert(log); } - - public static bool UpdateWatchExceptionLog(WatchExceptionLog log) - { - return _watchExLogs.Update(log); - } - - public static bool DeleteWatchExceptionLog(int id) - { - return _watchExLogs.Delete(id); - } public static int ClearWatchExceptionLog() { return _watchExLogs.DeleteAll(); @@ -120,13 +79,25 @@ public static Page GetAllLogs(string searchString, string logL if (!string.IsNullOrEmpty(searchString)) { searchString = searchString.ToLower(); - query.Where(l => l.Message.ToLower().Contains(searchString) || l.CallingMethod.ToLower().Contains(searchString) || l.CallingFrom.ToLower().Contains(searchString)); + query.Where(l => l.Message.ToLower().Contains(searchString) || l.CallingMethod.ToLower().Contains(searchString) || l.CallingFrom.ToLower().Contains(searchString) || (!string.IsNullOrEmpty(l.EventId) && l.EventId.ToLower().Contains(searchString))); } if (!string.IsNullOrEmpty(logLevelString)) { query.Where(l => l.LogLevel.ToLower() == logLevelString.ToLower()); } - return query.OrderByDescending(x => x.Timestamp).ToPaginatedList(pageNumber); + return query.OrderByDescending(x => x.Id).ToPaginatedList(pageNumber); + } + + // CLEAR ALL LOGS + public static bool ClearAllLogs() + { + var watchLogs = ClearWatchLog(); + var exLogs = ClearWatchExceptionLog(); + var logs = ClearLogs(); + + db.Rebuild(); + + return watchLogs > 1 && exLogs > 1 && logs > 1; } } } diff --git a/WatchDog/src/Helpers/MongoDBHelper.cs b/WatchDog/src/Helpers/MongoDBHelper.cs new file mode 100644 index 0000000..4e0f45d --- /dev/null +++ b/WatchDog/src/Helpers/MongoDBHelper.cs @@ -0,0 +1,126 @@ +using MongoDB.Driver; +using System.Threading.Tasks; +using WatchDog.src.Data; +using WatchDog.src.Models; +using WatchDog.src.Utilities; + +namespace WatchDog.src.Helpers +{ + internal class MongoDBHelper + { + public static MongoClient mongoClient = ExternalDbContext.CreateMongoDBConnection(); + static IMongoDatabase database = mongoClient.GetDatabase(WatchDogExternalDbConfig.MongoDbName); + static IMongoCollection _watchLogs = database.GetCollection(Constants.WatchLogTableName); + static IMongoCollection _watchExLogs = database.GetCollection(Constants.WatchLogExceptionTableName); + static IMongoCollection _logs = database.GetCollection(Constants.LogsTableName); + static IMongoCollection _counter = database.GetCollection(Constants.WatchDogMongoCounterTableName); + + + //WATCH lOGS OPERATION + public static Page GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber) + { + searchString = searchString?.ToLower(); + var builder = Builders.Filter; + var filter = builder.Empty; + + if (!string.IsNullOrEmpty(statusCode)) + filter &= builder.Eq(x => x.ResponseStatus, int.Parse(statusCode)); + + if (!string.IsNullOrEmpty(verbString)) + filter &= builder.Eq(x => x.Method, verbString); + + if (!string.IsNullOrEmpty(searchString)) + filter &= builder.Where(l => l.Path.ToLower().Contains(searchString) || l.Method.ToLower().Contains(searchString) || (!string.IsNullOrEmpty(l.QueryString) && l.QueryString.ToLower().Contains(searchString))); + + var result = _watchLogs.Find(filter).SortByDescending(x => x.Id).ToPaginatedList(pageNumber); + return result; + } + + public static async Task InsertWatchLog(WatchLog log) + { + log.Id = GetSequenceId(); + await _watchLogs.InsertOneAsync(log); + } + + public static async Task ClearWatchLog() + { + var deleteResult = await _watchLogs.DeleteManyAsync(Builders.Filter.Empty); + return deleteResult.IsAcknowledged; + } + + //Watch Exception Operations + public static Page GetAllWatchExceptionLogs(string searchString, int pageNumber) + { + searchString = searchString?.ToLower(); + var builder = Builders.Filter; + var filter = builder.Empty; + + if (!string.IsNullOrEmpty(searchString)) + filter &= builder.Where(l => l.Message.ToLower().Contains(searchString) || l.StackTrace.ToLower().Contains(searchString) || l.Source.ToLower().Contains(searchString)); + + var result = _watchExLogs.Find(filter).SortByDescending(x => x.Id).ToPaginatedList(pageNumber); + return result; + } + + public static async Task InsertWatchExceptionLog(WatchExceptionLog log) + { + log.Id = GetSequenceId(); + await _watchExLogs.InsertOneAsync(log); + } + public static async Task ClearWatchExceptionLog() + { + var deleteResult = await _watchExLogs.DeleteManyAsync(Builders.Filter.Empty); + return deleteResult.IsAcknowledged; + } + + + //LOGS OPERATION + public static async Task InsertLog(WatchLoggerModel log) + { + log.Id = GetSequenceId(); + await _logs.InsertOneAsync(log); + } + public static async Task ClearLogs() + { + var deleteResult = await _logs.DeleteManyAsync(Builders.Filter.Empty); + return deleteResult.IsAcknowledged; + } + public static Page GetAllLogs(string searchString, string logLevelString, int pageNumber) + { + searchString = searchString?.ToLower(); + var builder = Builders.Filter; + var filter = builder.Empty; + + if (!string.IsNullOrEmpty(searchString)) + filter &= builder.Where(l => l.Message.ToLower().Contains(searchString) || l.CallingMethod.ToLower().Contains(searchString) || l.CallingFrom.ToLower().Contains(searchString) || (!string.IsNullOrEmpty(l.EventId) && l.EventId.ToLower().Contains(searchString))); + + if (!string.IsNullOrEmpty(logLevelString)) + { + filter &= builder.Eq(l => l.LogLevel, logLevelString); + } + + var result = _logs.Find(filter).SortByDescending(x => x.Id).ToPaginatedList(pageNumber); + return result; + } + + + public static int GetSequenceId() + { + var filter = Builders.Filter.Eq(a => a._Id, "sequenceId"); + var update = Builders.Update.Inc(a => a.Value, 1); + var sequence = _counter.FindOneAndUpdate(filter, update); + + return sequence.Value; + } + + + public static async Task ClearAllLogs() + { + var watchLogs = await ClearWatchLog(); + var exLogs = await ClearWatchExceptionLog(); + var logs = await ClearLogs(); + + return watchLogs && exLogs && logs; + } + } +} diff --git a/WatchDog/src/Helpers/PaginatedEnumerable.cs b/WatchDog/src/Helpers/PaginatedEnumerable.cs index 04b15a9..51dd2bf 100644 --- a/WatchDog/src/Helpers/PaginatedEnumerable.cs +++ b/WatchDog/src/Helpers/PaginatedEnumerable.cs @@ -1,7 +1,9 @@ using LiteDB; +using MongoDB.Driver; using System; using System.Collections.Generic; using System.Linq; +using System.Linq.Expressions; using WatchDog.src.Utilities; namespace WatchDog.src.Helpers @@ -29,6 +31,12 @@ public static Page ToPaginatedList(this IEnumerable source, int pageInd var items = source.Skip((pageIndex - 1) * pageSize).Take(pageSize); return new Page(items, count, pageIndex, pageSize); } + public static Page ToPaginatedList(this IFindFluent source, int pageIndex, int pageSize = Constants.PageSize) + { + var count = source.CountDocuments(); + var items = source.Skip((pageIndex - 1) * pageSize).Limit(pageSize).ToEnumerable(); + return new Page(items, count, pageIndex, pageSize); + } public static Page ToPaginatedList(this ILiteQueryable source, int pageIndex, int pageSize = Constants.PageSize) { diff --git a/WatchDog/src/Helpers/ExternalDbHelper.cs b/WatchDog/src/Helpers/SQLDbHelper.cs similarity index 80% rename from WatchDog/src/Helpers/ExternalDbHelper.cs rename to WatchDog/src/Helpers/SQLDbHelper.cs index e66f3f1..3c4e69e 100644 --- a/WatchDog/src/Helpers/ExternalDbHelper.cs +++ b/WatchDog/src/Helpers/SQLDbHelper.cs @@ -7,7 +7,7 @@ namespace WatchDog.src.Helpers { - internal static class ExternalDbHelper + internal static class SQLDbHelper { // WATCHLOG OPERATIONS public static async Task> GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber) @@ -19,8 +19,10 @@ public static async Task> GetAllWatchLogs(string searchString, st if (!string.IsNullOrEmpty(searchString)) { - searchString = searchString.ToLower(); - query += $"{nameof(WatchLog.Path)} LIKE '%{searchString}%' OR {nameof(WatchLog.Method)} LIKE '%{searchString}%' OR {nameof(WatchLog.ResponseStatus)} LIKE '%{searchString}%' OR {nameof(WatchLog.QueryString)} LIKE '%{searchString}%' " + (string.IsNullOrEmpty(statusCode) || string.IsNullOrEmpty(verbString) ? "" : "AND "); + if(GeneralHelper.IsPostgres()) + query += $"({nameof(WatchLog.Path)} LIKE '%{searchString}%' OR {nameof(WatchLog.Method)} LIKE '%{searchString}%' OR {nameof(WatchLog.ResponseStatus)}::text LIKE '%{searchString}%' OR {nameof(WatchLog.QueryString)} LIKE '%{searchString}%')" + (string.IsNullOrEmpty(statusCode) && string.IsNullOrEmpty(verbString) ? "" : " AND "); + else + query += $"({nameof(WatchLog.Path)} LIKE '%{searchString}%' OR {nameof(WatchLog.Method)} LIKE '%{searchString}%' OR {nameof(WatchLog.ResponseStatus)} LIKE '%{searchString}%' OR {nameof(WatchLog.QueryString)} LIKE '%{searchString}%')" + (string.IsNullOrEmpty(statusCode) && string.IsNullOrEmpty(verbString) ? "" : " AND "); } if (!string.IsNullOrEmpty(verbString)) @@ -30,10 +32,10 @@ public static async Task> GetAllWatchLogs(string searchString, st if (!string.IsNullOrEmpty(statusCode)) { - query += $"{nameof(WatchLog.ResponseStatus)} LIKE '%{statusCode}%' "; + query += $"{nameof(WatchLog.ResponseStatus)} = {statusCode}"; } - query += $"ORDER BY {nameof(WatchLog.StartTime)} DESC"; - using (var connection = ExternalDbContext.CreateConnection()) + query += $" ORDER BY {nameof(WatchLog.Id)} DESC"; + using (var connection = ExternalDbContext.CreateSQLConnection()) { connection.Open(); var logs = await connection.QueryAsync(query); @@ -72,7 +74,7 @@ public static async Task InsertWatchLog(WatchLog log) parameters.Add("EndTime", log.EndTime); } - using (var connection = ExternalDbContext.CreateConnection()) + using (var connection = ExternalDbContext.CreateSQLConnection()) { connection.Open(); await connection.ExecuteAsync(query, parameters); @@ -91,8 +93,8 @@ public static async Task> GetAllWatchExceptionLogs(strin searchString = searchString.ToLower(); query += $"WHERE {nameof(WatchExceptionLog.Source)} LIKE '%{searchString}%' OR {nameof(WatchExceptionLog.Message)} LIKE '%{searchString}%' OR {nameof(WatchExceptionLog.StackTrace)} LIKE '%{searchString}%' "; } - query += $"ORDER BY {nameof(WatchExceptionLog.EncounteredAt)} DESC"; - using (var connection = ExternalDbContext.CreateConnection()) + query += $"ORDER BY {nameof(WatchExceptionLog.Id)} DESC"; + using (var connection = ExternalDbContext.CreateSQLConnection()) { var logs = await connection.QueryAsync(query); return logs.ToPaginatedList(pageNumber); @@ -123,7 +125,7 @@ public static async Task InsertWatchExceptionLog(WatchExceptionLog log) parameters.Add("EncounteredAt", log.EncounteredAt, DbType.DateTime); } - using (var connection = ExternalDbContext.CreateConnection()) + using (var connection = ExternalDbContext.CreateSQLConnection()) { await connection.ExecuteAsync(query, parameters); } @@ -140,16 +142,16 @@ public static async Task> GetAllLogs(string searchString, if (!string.IsNullOrEmpty(searchString)) { searchString = searchString.ToLower(); - query += $"{nameof(WatchLoggerModel.CallingFrom)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.CallingMethod)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.Message)} LIKE '%{searchString}%' "; + query += $"{nameof(WatchLoggerModel.CallingFrom)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.CallingMethod)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.Message)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.EventId)} LIKE '%{searchString}%' " + (string.IsNullOrEmpty(logLevelString) ? "" : "AND "); } if (!string.IsNullOrEmpty(logLevelString)) { query += $"{nameof(WatchLoggerModel.LogLevel)} LIKE '%{logLevelString}%' "; } - query += $"ORDER BY {nameof(WatchLoggerModel.Timestamp)} DESC"; + query += $"ORDER BY {nameof(WatchLoggerModel.Id)} DESC"; - using (var connection = ExternalDbContext.CreateConnection()) + using (var connection = ExternalDbContext.CreateSQLConnection()) { connection.Open(); var logs = await connection.QueryAsync(query); @@ -160,8 +162,8 @@ public static async Task> GetAllLogs(string searchString, public static async Task InsertLog(WatchLoggerModel log) { - var query = @$"INSERT INTO {Constants.LogsTableName} (message,timestamp,callingFrom,callingMethod,lineNumber,logLevel) " + - "VALUES (@Message,@Timestamp,@CallingFrom,@CallingMethod,@LineNumber,@LogLevel);"; + var query = @$"INSERT INTO {Constants.LogsTableName} (message,eventId,timestamp,callingFrom,callingMethod,lineNumber,logLevel) " + + "VALUES (@Message,@EventId,@Timestamp,@CallingFrom,@CallingMethod,@LineNumber,@LogLevel);"; var parameters = new DynamicParameters(); parameters.Add("Message", log.Message, DbType.String); @@ -169,6 +171,7 @@ public static async Task InsertLog(WatchLoggerModel log) parameters.Add("CallingMethod", log.CallingMethod, DbType.String); parameters.Add("LineNumber", log.LineNumber, DbType.Int32); parameters.Add("LogLevel", log.LogLevel, DbType.String); + parameters.Add("EventId", log.EventId, DbType.String); if (GeneralHelper.IsPostgres()) { @@ -179,7 +182,7 @@ public static async Task InsertLog(WatchLoggerModel log) parameters.Add("Timestamp", log.Timestamp, DbType.DateTime); } - using (var connection = ExternalDbContext.CreateConnection()) + using (var connection = ExternalDbContext.CreateSQLConnection()) { await connection.ExecuteAsync(query, parameters); } @@ -193,7 +196,7 @@ public static async Task ClearLogs() var watchlogQuery = @$"truncate table {Constants.WatchLogTableName}"; var exQuery = @$"truncate table {Constants.WatchLogExceptionTableName}"; var logQuery = @$"truncate table {Constants.LogsTableName}"; - using (var connection = ExternalDbContext.CreateConnection()) + using (var connection = ExternalDbContext.CreateSQLConnection()) { var watchlogs = await connection.ExecuteAsync(watchlogQuery); var exLogs = await connection.ExecuteAsync(exQuery); diff --git a/WatchDog/src/Managers/DynamicDBManager.cs b/WatchDog/src/Managers/DynamicDBManager.cs index 6ed9e4d..46b11a9 100644 --- a/WatchDog/src/Managers/DynamicDBManager.cs +++ b/WatchDog/src/Managers/DynamicDBManager.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System; +using System.Threading.Tasks; using WatchDog.src.Helpers; using WatchDog.src.Models; @@ -6,70 +7,115 @@ namespace WatchDog.src.Managers { internal static class DynamicDBManager { + internal enum TargetDbEnum + { + SqlDb = 0, + LiteDb, + MongoDb + } private static string _connectionString = WatchDogExternalDbConfig.ConnectionString; - private static bool isExternalDb() => !string.IsNullOrEmpty(_connectionString); + //private static bool isExternalDb() => !string.IsNullOrEmpty(_connectionString); + + private static TargetDbEnum GetTargetDbEnum + { + get { + if (string.IsNullOrEmpty(_connectionString)) + { + return TargetDbEnum.LiteDb; + } + if (WatchDogDatabaseDriverOption.DatabaseDriverOption == Enums.WatchDogDbDriverEnum.Mongo) + { + return TargetDbEnum.MongoDb; + } + return TargetDbEnum.SqlDb; + } + } public static async Task ClearLogs() => - isExternalDb() switch + GetTargetDbEnum switch { - true => await ExternalDbHelper.ClearLogs(), - false => LiteDBHelper.ClearAllLogs() + TargetDbEnum.SqlDb => await SQLDbHelper.ClearLogs(), + TargetDbEnum.LiteDb => LiteDBHelper.ClearAllLogs(), + TargetDbEnum.MongoDb => await MongoDBHelper.ClearAllLogs(), + _ => throw new NotImplementedException() }; + // WATCHLOG OPERATIONS public static async Task> GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber) => - isExternalDb() switch + GetTargetDbEnum switch { - true => await ExternalDbHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber), - false => LiteDBHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber) + TargetDbEnum.SqlDb => await SQLDbHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber), + TargetDbEnum.LiteDb => LiteDBHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber), + TargetDbEnum.MongoDb => MongoDBHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber), + _ => throw new NotImplementedException() }; public static async Task InsertWatchLog(WatchLog log) { - if (isExternalDb()) - { - await ExternalDbHelper.InsertWatchLog(log); - } - else + switch (GetTargetDbEnum) { - LiteDBHelper.InsertWatchLog(log); + case TargetDbEnum.SqlDb: + await SQLDbHelper.InsertWatchLog(log); + break; + case TargetDbEnum.LiteDb: + LiteDBHelper.InsertWatchLog(log); + break; + case TargetDbEnum.MongoDb: + await MongoDBHelper.InsertWatchLog(log); + break; } } // WATCH EXCEPTION OPERATIONS public static async Task> GetAllWatchExceptionLogs(string searchString, int pageNumber) => - isExternalDb() switch + GetTargetDbEnum switch { - true => await ExternalDbHelper.GetAllWatchExceptionLogs(searchString, pageNumber), - false => LiteDBHelper.GetAllWatchExceptionLogs(searchString, pageNumber) + TargetDbEnum.SqlDb => await SQLDbHelper.GetAllWatchExceptionLogs(searchString, pageNumber), + TargetDbEnum.LiteDb => LiteDBHelper.GetAllWatchExceptionLogs(searchString, pageNumber), + TargetDbEnum.MongoDb => MongoDBHelper.GetAllWatchExceptionLogs(searchString, pageNumber), + _ => throw new NotImplementedException() }; public static async Task InsertWatchExceptionLog(WatchExceptionLog log) { - if (isExternalDb()) + switch (GetTargetDbEnum) { - await ExternalDbHelper.InsertWatchExceptionLog(log); - } - else - { - LiteDBHelper.InsertWatchExceptionLog(log); + case TargetDbEnum.SqlDb: + await SQLDbHelper.InsertWatchExceptionLog(log); + break; + case TargetDbEnum.LiteDb: + LiteDBHelper.InsertWatchExceptionLog(log); + break; + case TargetDbEnum.MongoDb: + await MongoDBHelper.InsertWatchExceptionLog(log); + break; } } // LOG OPERATIONS public static async Task> GetAllLogs(string searchString, string logLevelString, int pageNumber) => - isExternalDb() switch + GetTargetDbEnum switch { - true => await ExternalDbHelper.GetAllLogs(searchString, logLevelString, pageNumber), - false => LiteDBHelper.GetAllLogs(searchString, logLevelString, pageNumber) + TargetDbEnum.SqlDb => await SQLDbHelper.GetAllLogs(searchString, logLevelString, pageNumber), + TargetDbEnum.LiteDb => LiteDBHelper.GetAllLogs(searchString, logLevelString, pageNumber), + TargetDbEnum.MongoDb => MongoDBHelper.GetAllLogs(searchString, logLevelString, pageNumber), + _ => throw new NotImplementedException() }; public static async Task InsertLog(WatchLoggerModel log) { - if (isExternalDb()) - await ExternalDbHelper.InsertLog(log); - else - LiteDBHelper.InsertLog(log); + switch (GetTargetDbEnum) { + case TargetDbEnum.SqlDb: + await SQLDbHelper.InsertLog(log); + break; + case TargetDbEnum.LiteDb: + LiteDBHelper.InsertLog(log); + break; + case TargetDbEnum.MongoDb: + await MongoDBHelper.InsertLog(log); + break; + } } } } diff --git a/WatchDog/src/Models/Sequence.cs b/WatchDog/src/Models/Sequence.cs new file mode 100644 index 0000000..5066e15 --- /dev/null +++ b/WatchDog/src/Models/Sequence.cs @@ -0,0 +1,12 @@ +using MongoDB.Bson.Serialization.Attributes; + +namespace WatchDog.src.Models +{ + internal class Sequence + { + [BsonId] + public string _Id { get; set; } + + public int Value { get; set; } + } +} diff --git a/WatchDog/src/Models/WatchDogConfigModel.cs b/WatchDog/src/Models/WatchDogConfigModel.cs index 32c174b..d0f7d2e 100644 --- a/WatchDog/src/Models/WatchDogConfigModel.cs +++ b/WatchDog/src/Models/WatchDogConfigModel.cs @@ -14,17 +14,18 @@ public class WatchDogSettings public bool IsAutoClear { get; set; } public WatchDogAutoClearScheduleEnum ClearTimeSchedule { get; set; } = WatchDogAutoClearScheduleEnum.Weekly; public string SetExternalDbConnString { get; set; } = string.Empty; - public WatchDogSqlDriverEnum SqlDriverOption { get; set; } + public WatchDogDbDriverEnum DbDriverOption { get; set; } } public static class WatchDogExternalDbConfig { public static string ConnectionString { get; set; } = string.Empty; + public static string MongoDbName { get; set; } = "WatchDogDb"; } - public static class WatchDogSqlDriverOption + public static class WatchDogDatabaseDriverOption { - public static WatchDogSqlDriverEnum SqlDriverOption { get; set; } + public static WatchDogDbDriverEnum DatabaseDriverOption { get; set; } } public static class AutoClearModel diff --git a/WatchDog/src/Models/WatchLoggerModel.cs b/WatchDog/src/Models/WatchLoggerModel.cs index e022839..aed845b 100644 --- a/WatchDog/src/Models/WatchLoggerModel.cs +++ b/WatchDog/src/Models/WatchLoggerModel.cs @@ -5,6 +5,7 @@ namespace WatchDog.src.Models public class WatchLoggerModel { public int Id { get; set; } + public string EventId { get; set; } = string.Empty; public string Message { get; set; } public DateTime Timestamp { get; set; } public string CallingFrom { get; set; } diff --git a/WatchDog/src/Utilities/Constants.cs b/WatchDog/src/Utilities/Constants.cs index b35fddc..ca27d2c 100644 --- a/WatchDog/src/Utilities/Constants.cs +++ b/WatchDog/src/Utilities/Constants.cs @@ -4,6 +4,7 @@ internal static class Constants { public const string WatchLogTableName = "WatchDog_WatchLog"; public const string WatchLogExceptionTableName = "WatchDog_WatchExceptionLog"; + public const string WatchDogMongoCounterTableName = "WatchDog_Counter"; public const string LogsTableName = "WatchDog_Logs"; public const int PageSize = 20; } diff --git a/WatchDog/src/WatchDog.cs b/WatchDog/src/WatchDog.cs index 55e9683..05c0252 100644 --- a/WatchDog/src/WatchDog.cs +++ b/WatchDog/src/WatchDog.cs @@ -1,7 +1,6 @@ using Microsoft.AspNetCore.Http; using Microsoft.IO; using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; diff --git a/WatchDog/src/WatchLogger.cs b/WatchDog/src/WatchLogger.cs index b7abe22..4e133b4 100644 --- a/WatchDog/src/WatchLogger.cs +++ b/WatchDog/src/WatchLogger.cs @@ -1,36 +1,110 @@ -using System; +using Microsoft.Extensions.Logging; +using System; +using System.Diagnostics.CodeAnalysis; using System.IO; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using WatchDog.src.Helpers; using WatchDog.src.Managers; using WatchDog.src.Models; namespace WatchDog { + internal class WatchDogLoggerProvider : ILoggerProvider + { + private readonly bool _shouldLog; + private readonly bool _shouldLogCallerInfo; + public WatchDogLoggerProvider(bool shouldLog, bool shouldLogCallerInfo) + { + _shouldLog = shouldLog; + _shouldLogCallerInfo = shouldLogCallerInfo; + } + public ILogger CreateLogger(string CategoryName) => new WatchDogLogger(_shouldLog, _shouldLogCallerInfo, this); + + public void Dispose() { } + } + + + internal class WatchDogLogger : ILogger + { + private readonly bool _shouldLog; + private readonly bool _shouldLogCallerInfo; + private readonly WatchDogLoggerProvider _loggerProvider; + public WatchDogLogger(bool shouldLog, bool shouldLogCallerInfo, [NotNull]WatchDogLoggerProvider loggerProvider) + { + _shouldLog = shouldLog; + _shouldLogCallerInfo = shouldLogCallerInfo; + _loggerProvider = loggerProvider; + } + + public IDisposable BeginScope(TState state) => default; + + public bool IsEnabled(LogLevel logLevel) => logLevel != LogLevel.None && _shouldLog; + + public void Log(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func formatter) + { + if (IsEnabled(logLevel)) + { + var message = formatter(state, exception) ?? string.Empty; + var (callerName, filePath, lineNumber) = _shouldLogCallerInfo ? new System.Diagnostics.StackTrace(1, fNeedFileInfo: true).GetFrames().GetCaller() : (string.Empty, string.Empty, 0); + var eventID = eventId.Name; + + switch (logLevel) + { + case LogLevel.Trace: + case LogLevel.Debug: + case LogLevel.Information: + WatchLogger.Log(message, eventID, filePath: filePath, callerName: callerName, lineNumber: lineNumber); + break; + case LogLevel.Warning: + WatchLogger.LogWarning(message, eventID, filePath: filePath, callerName: callerName, lineNumber: lineNumber); + break; + case LogLevel.Error: + case LogLevel.Critical: + WatchLogger.LogError(message, eventID, filePath: filePath, callerName: callerName, lineNumber: lineNumber); + break; + default: + WatchLogger.Log(message, eventID, filePath: filePath, callerName: callerName, lineNumber: lineNumber); + break; + } + } + } + } + + public class WatchLogger { - public static async void Log(string message, [CallerMemberName] string callerName = "", [CallerFilePath] string filePath = "", [CallerLineNumber] int lineNumber = 0, string level = "Info") + public static async void Log(string message, [Optional] string eventId, [CallerMemberName] string callerName = "", [CallerFilePath] string filePath = "", [CallerLineNumber] int lineNumber = 0, string level = "Info") { - var log = new WatchLoggerModel + try + { + var log = new WatchLoggerModel + { + Message = message, + EventId = eventId, + Timestamp = DateTime.Now, + CallingFrom = Path.GetFileName(filePath), + CallingMethod = callerName, + LineNumber = lineNumber, + LogLevel = level + }; + + //Insert + await DynamicDBManager.InsertLog(log); + await ServiceProviderFactory.BroadcastHelper.BroadcastLog(log); + } + catch(Exception ex) { - Message = message, - Timestamp = DateTime.Now, - CallingFrom = Path.GetFileName(filePath), - CallingMethod = callerName, - LineNumber = lineNumber, - LogLevel = level - }; - - //Insert - await DynamicDBManager.InsertLog(log); - await ServiceProviderFactory.BroadcastHelper.BroadcastLog(log); + Console.WriteLine(ex.Message); + } } - public static void LogError(string message, [CallerMemberName] string callerName = "", [CallerFilePath] string filePath = "", [CallerLineNumber] int lineNumber = 0) + public static void LogError(string message, [Optional] string eventId, [CallerMemberName] string callerName = "", [CallerFilePath] string filePath = "", [CallerLineNumber] int lineNumber = 0) { - Log(message, callerName, filePath, lineNumber, "Error"); + Log(message, eventId, callerName, filePath, lineNumber, "Error"); } - public static void LogWarning(string message, [CallerMemberName] string callerName = "", [CallerFilePath] string filePath = "", [CallerLineNumber] int lineNumber = 0) + public static void LogWarning(string message, [Optional] string eventId, [CallerMemberName] string callerName = "", [CallerFilePath] string filePath = "", [CallerLineNumber] int lineNumber = 0) { - Log(message, callerName, filePath, lineNumber, "Warning"); + Log(message, eventId, callerName, filePath, lineNumber, "Warning"); } } } diff --git a/WatchDog/src/WatchPage/index.html b/WatchDog/src/WatchPage/index.html index 9344e02..e53b8ce 100644 --- a/WatchDog/src/WatchPage/index.html +++ b/WatchDog/src/WatchPage/index.html @@ -4,14 +4,14 @@ WatchDog - + - - - - - - + + + + + + @@ -134,7 +154,7 @@
InCode Logs
- +
@@ -195,6 +215,14 @@
InCode Logs
+
+
+
+
+
+
+
+

@@ -230,6 +258,14 @@
InCode Logs
+
+
+
+
+
+
+
+

@@ -272,6 +308,14 @@
InCode Logs
+
+
+
+
+
+
+
+

@@ -391,6 +435,7 @@

WatchLog Exceptions

In-Code Log

+

Event Id:

From File:

Method:

Line:

@@ -474,37 +519,45 @@

Are you sure you want to clear all logs?

} }); }); + + hasAuth().then( + (data) => { + if (data === false) { + $('#myLoginModal').modal('show'); + } + }) }); var pageIndex = 1; var exPageIndex = 1; var inCodePageIndex = 1; document.getElementById('reqLog').style.textDecoration = "underline"; - var connection = new signalR.HubConnectionBuilder().withUrl("/wtchdlogger").build(); + var connection = new signalR.HubConnectionBuilder().withUrl("./wtchdlogger").build(); connection.on("getLogs", function (data) { - if (sessionStorage.getItem("loggedIn") !== null && sessionStorage.getItem("loggedIn") === sessionStorage.getItem("newloggedIn")) { - if (data.type === "rqLog") { - const firstDigitStr = String(data.log.responseStatus)[0]; - var statusColor = firstDigitStr === '2' ? "text-success" : firstDigitStr === '1' || firstDigitStr === '3' ? "text-primary" : "text-danger"; - const tr = $("" + - "" + data.log.method + "" + truncate(data.log.path, 50) + " " + data.log.responseStatus + "" + data.log.timeSpent + "" + moment(data.log.startTime).format('LLL') + ""); - tr.on('click', populateModal.bind(null, data.log)); - $('#tableBody').prepend(tr); - } else if (data.type === "exLog") { - const tr = $("" + - "" + data.log.source + "" + truncate(data.log.message, 50) + "" + data.log.typeOf + "" + moment(data.log.encounteredAt).format('LLL') + " "); - tr.on('click', populateExceptionModal.bind(null, data.log)); - $('#tableBodyEx').prepend(tr); - } else if (data.type === "log") { - const tr = $("" + - "" + moment(data.log.timestamp).format('LLL') + "" + data.log.callingFrom + "\nLine:" + data.log.lineNumber + "" + data.log.callingMethod + "" + data.log.logLevel + "" + truncate(data.log.message, 50) + " "); - tr.on('click', populateInCodeModal.bind(null, data.log)); - $('#tableBodyInCode').prepend(tr); - } - - } - + hasAuth().then( + (authData) => { + if (authData === true) { + if (data.type === "rqLog") { + const firstDigitStr = String(data.log.responseStatus)[0]; + var statusColor = firstDigitStr === '2' ? "text-success" : firstDigitStr === '1' || firstDigitStr === '3' ? "text-primary" : "text-danger"; + const tr = $("" + + "" + data.log.method + "" + truncate(data.log.path, 50) + " " + data.log.responseStatus + "" + data.log.timeSpent + "" + moment(data.log.startTime).format('LLL') + ""); + tr.on('click', populateModal.bind(null, data.log)); + $('#tableBody').prepend(tr); + } else if (data.type === "exLog") { + const tr = $("" + + "" + data.log.source + "" + truncate(data.log.message, 50) + "" + data.log.typeOf + "" + moment(data.log.encounteredAt).format('LLL') + " "); + tr.on('click', populateExceptionModal.bind(null, data.log)); + $('#tableBodyEx').prepend(tr); + } else if (data.type === "log") { + const tr = $("" + + "" + moment(data.log.timestamp).format('LLL') + "" + (data.log.callingFrom ??= '') + "\nLine:" + data.log.lineNumber + "" + (data.log.callingMethod ??= '') + "" + data.log.logLevel + "" + truncate(data.log.message, 50) + " "); + tr.on('click', populateInCodeModal.bind(null, data.log)); + $('#tableBodyInCode').prepend(tr); + } + } + }) }); connection @@ -548,9 +601,10 @@

Are you sure you want to clear all logs?

}); function getLogs(searchString = "", verb = "", statusCode = "") { + $('#rqLoader').show(); $.ajax({ type: "GET", - url: "/WTCHDwatchpage?pageNumber=" + pageIndex + "&searchString=" + searchString + "&verbString=" + verb + "&statusCode=" + statusCode, + url: "./WTCHDwatchpage?pageNumber=" + pageIndex + "&searchString=" + searchString + "&verbString=" + verb + "&statusCode=" + statusCode, context: document.body, success: function (data) { var totalPages = data.totalPages === 0 ? 1 : data.totalPages @@ -569,31 +623,31 @@

Are you sure you want to clear all logs?

$('#prev').show(); } - if (sessionStorage.getItem("loggedIn") === null) { - $('#myLoginModal').modal('show'); + $('#rqLoader').hide(); - } else { - if (sessionStorage.getItem("loggedIn") !== sessionStorage.getItem("newloggedIn")) { - $('#myLoginModal').modal('show'); - } else { - for (var i = 0; i < data.logs.length; i++) { - const firstDigitStr = String(data.logs[i].responseStatus)[0]; - var statusColor = firstDigitStr === '2' ? "text-success" : firstDigitStr === '1' || firstDigitStr === '3' ? "text-primary" : "text-danger"; - const tr = $("" + - "" + data.logs[i].method + "" + truncate(data.logs[i].path, 50) + " " + data.logs[i].responseStatus + "" + data.logs[i].timeSpent + "" + moment(data.logs[i].startTime).format('LLL') + " "); - tr.on('click', populateModal.bind(null, data.logs[i])); - $('#tableBody').append(tr); - } - } + for (var i = 0; i < data.logs.length; i++) { + const firstDigitStr = String(data.logs[i].responseStatus)[0]; + var statusColor = firstDigitStr === '2' ? "text-success" : firstDigitStr === '1' || firstDigitStr === '3' ? "text-primary" : "text-danger"; + const tr = $("" + + "" + data.logs[i].method + "" + truncate(data.logs[i].path, 50) + " " + data.logs[i].responseStatus + "" + data.logs[i].timeSpent + "" + moment(data.logs[i].startTime).format('LLL') + " "); + tr.on('click', populateModal.bind(null, data.logs[i])); + $('#tableBody').append(tr); + } + }, + error: function (error) { + $('#rqLoader').hide(); + if (error.status === 401) { + $('#myLoginModal').modal('show'); } - } }); } + function getExceptionLogs(searchString = "") { + $('#exLoader').show(); $.ajax({ type: "GET", - url: "/WTCHDwatchpage/Exceptions?pageNumber=" + exPageIndex + "&searchString=" + searchString, + url: "./WTCHDwatchpage/Exceptions?pageNumber=" + exPageIndex + "&searchString=" + searchString, context: document.body, success: function (data) { var totalPages = data.totalPages === 0 ? 1 : data.totalPages @@ -613,19 +667,28 @@

Are you sure you want to clear all logs?

$('#exPrev').show(); } + $('#exLoader').hide(); + for (var i = 0; i < data.logs.length; i++) { const tr = $("" + "" + data.logs[i].source + "" + truncate(data.logs[i].message, 50) + "" + data.logs[i].typeOf + "" + moment(data.logs[i].encounteredAt).format('LLL') + " "); tr.on('click', populateExceptionModal.bind(null, data.logs[i])); $('#tableBodyEx').append(tr); } + }, + error: function (error) { + $('#exLoader').hide(); + if (error.status === 401) { + $('#myLoginModal').modal('show'); + } } }); } function getInCodeLogs(searchString = "", logLevelString = "") { + $('#incodeLoader').show(); $.ajax({ type: "GET", - url: "/WTCHDwatchpage/Logs?pageNumber=" + inCodePageIndex + "&searchString=" + searchString + "&logLevelString=" + logLevelString, + url: "./WTCHDwatchpage/Logs?pageNumber=" + inCodePageIndex + "&searchString=" + searchString + "&logLevelString=" + logLevelString, context: document.body, success: function (data) { var totalPages = data.totalPages === 0 ? 1 : data.totalPages @@ -645,12 +708,20 @@

Are you sure you want to clear all logs?

$('#inCodePrev').show(); } + $('#incodeLoader').hide(); + for (var i = 0; i < data.logs.length; i++) { const tr = $("" + - "" + moment(data.logs[i].timestamp).format('LLL') + "" + data.logs[i].callingFrom + "\nLine:" + data.logs[i].lineNumber + "" + data.logs[i].callingMethod + "" + data.logs[i].logLevel + "" + truncate(data.logs[i].message, 50) + " "); + "" + moment(data.logs[i].timestamp).format('LLL') + "" + (data.logs[i].callingFrom ??= '') + "\nLine:" + data.logs[i].lineNumber + "" + (data.logs[i].callingMethod ??= '') + "" + data.logs[i].logLevel + "" + truncate(data.logs[i].message, 50) + " "); tr.on('click', populateInCodeModal.bind(null, data.logs[i])); $('#tableBodyInCode').append(tr); } + }, + error: function (error) { + $('#incodeLoader').hide(); + if (error.status === 401) { + $('#myLoginModal').modal('show'); + } } }); } @@ -659,9 +730,14 @@

Are you sure you want to clear all logs?

function clearLogs() { $.ajax({ type: "POST", - url: "/WTCHDwatchpage/ClearLogs", + url: "./WTCHDwatchpage/ClearLogs", success: function (data) { window.location.reload() + }, + error: function (error) { + if (error.status === 401) { + $('#myLoginModal').modal('show'); + } } }); } @@ -767,8 +843,13 @@

Are you sure you want to clear all logs?

} function logOut() { - sessionStorage.clear(); - window.location.reload(); + $.ajax({ + type: "GET", + url: "./WTCHDwatchpage/LogOut", + success: function (data) { + window.location.reload() + } + }); } function login() { @@ -777,19 +858,13 @@

Are you sure you want to clear all logs?

if (form.checkValidity()) { $.ajax({ type: "POST", - url: "/WTCHDwatchpage/Auth", + url: "./WTCHDwatchpage/Auth", data: { username: $("#uname").val(), password: $("#psw").val() }, context: document.body, success: function (data) { - if (data === true) { - sessionStorage.setItem("newloggedIn", generateUUID()) - sessionStorage.setItem("loggedIn", sessionStorage.getItem("newloggedIn")) - } else { - sessionStorage.setItem("loggedIn", null) - } window.location.reload() } @@ -798,6 +873,23 @@

Are you sure you want to clear all logs?

} + function hasAuth() { + return new Promise(function (resolve, reject) { + $.ajax({ + type: "GET", + url: "./WTCHDwatchpage/IsAuth", + success: function (data) { + resolve(data) // Resolve promise and when success + }, + error: function (err) { + reject(err) // Reject the promise and go to catch() + } + }); + }); + } + + + function populateModal(data) { $('#host').text(data.host); $('#path').text(data.path); @@ -871,41 +963,19 @@

Are you sure you want to clear all logs?

} function populateInCodeModal(data) { - console.log(data); $('#incodeFrom').text(data.callingFrom); $('#incodeLine').text(data.lineNumber); $('#incodeMethod').text(data.callingMethod); - $('#incodeTime').text(moment(data.timeStamp).format('LLL')); + $('#incodeTime').text(moment(data.timestamp).format('LLL')); $('#incodeLogLevel').text(data.logLevel); $('#incodeMessage').text(data.message); + $('#incodeEventId').text(data.eventId); if (data.message != null && data.message !== "") { document.getElementById("incodeMessageCopy").style.display = "block"; - //var element = document.getElementById("incodeMessage"); - //if (data.message.includes("{")) { - // var obj = JSON.parse(element.innerText); - // element.innerHTML = JSON.stringify(obj, undefined, 2); - //} } else { document.getElementById("incodeMessageCopy").style.display = "none"; } - - } - - function generateUUID() { // Public Domain/MIT - var d = new Date().getTime();//Timestamp - var d2 = ((typeof performance !== 'undefined') && performance.now && (performance.now() * 1000)) || 0;//Time in microseconds since page-load or 0 if unsupported - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - var r = Math.random() * 16;//random number between 0 and 16 - if (d > 0) {//Use timestamp until depleted - r = (d + r) % 16 | 0; - d = Math.floor(d / 16); - } else {//Use microseconds since page-load if supported - r = (d2 + r) % 16 | 0; - d2 = Math.floor(d2 / 16); - } - return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); - }); } function sleep(time) { diff --git a/WatchDogCompleteApiNet6/Controllers/TestController.cs b/WatchDogCompleteApiNet6/Controllers/TestController.cs index 0f4bc47..8e11c6e 100644 --- a/WatchDogCompleteApiNet6/Controllers/TestController.cs +++ b/WatchDogCompleteApiNet6/Controllers/TestController.cs @@ -9,12 +9,18 @@ namespace WatchDogCompleteApiNet6.Controllers [Route("[controller]")] public class TestController : Controller { + private readonly ILogger _logger; + public TestController(ILogger logger) + { + _logger = logger; + } [HttpGet("testGet")] public Product TestGet(string reference) { + _logger.LogInformation("Omo"); WatchLogger.Log("...TestGet Started..."); // Some lines of code - WatchLogger.Log("...TestGet Ended..."); + WatchLogger.Log("...TestGet Ended...", eventId: reference); return new Product { Id = 1, Name = "Get Test Product", Description = $"This is the response from testGet - {reference}", IsOnSale = true }; throw new Exception("O get o, then forget"); @@ -57,5 +63,12 @@ public string TestFile([FromForm] FileTest model) WatchLogger.LogError("File Upload Error"); return $"File with id {model.Id} created successfully"; } + + + [HttpGet("simulate400")] + public IActionResult Simulate400() + { + return BadRequest(); + } } } diff --git a/WatchDogCompleteApiNet6/Program.cs b/WatchDogCompleteApiNet6/Program.cs index de4868e..0b82874 100644 --- a/WatchDogCompleteApiNet6/Program.cs +++ b/WatchDogCompleteApiNet6/Program.cs @@ -13,9 +13,13 @@ { opt.IsAutoClear = true; opt.ClearTimeSchedule = WatchDogAutoClearScheduleEnum.Monthly; - opt.SqlDriverOption = WatchDogSqlDriverEnum.MSSQL; - opt.SetExternalDbConnString = "Data Source=(LocalDb)\\MSSQLLocalDB;Initial Catalog=test;"; + opt.DbDriverOption = WatchDogDbDriverEnum.PostgreSql; + opt.SetExternalDbConnString = "Server=lucky.db.elephantsql.com;Database=kfmlwanq;User Id=kfmlwanq;Password=jYpwgweV43BUr51SDcPHWdCfEmhpvQPz;"; + //opt.SetExternalDbConnString = "Data Source=(LocalDb)\\MSSQLLocalDB;Initial Catalog=test;"; + //opt.SetExternalDbConnString = "mongodb://localhost:27017"; }); +builder.Logging.AddWatchDogLogger(); + // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); diff --git a/WatchDogCompleteApiNet6/watchlogs-log.db b/WatchDogCompleteApiNet6/watchlogs-log.db index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..86780661e44eceba25c52be497973cf3df3995ab 100644 GIT binary patch literal 1777664 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
5;1 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 literal 0 HcmV?d00001 diff --git a/WatchDogCompleteApiNet6/watchlogs.db b/WatchDogCompleteApiNet6/watchlogs.db index cedb4918f72260675b37ac18fd02a95484ac981b..41288cd65b92e71c817a907bc4cb59f24976346d 100644 GIT binary patch literal 6258688 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�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 oK*OYJ&) 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

J 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 }l`kpNnxrtsdNK`qZVt2ja08;U4NhBRP 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 H37Y=_`8oY5 delta 421 zcmZo@_{Y?6fLWLU2pIpv01JpWQCOFWjbWqHBl*c!9Rwy8>P${hkYHq-Y^b2WJ>eUN z1t%&g#<+obk^`?01IQ2tMxY5yvzQndb}=zdmUj?iWZc~7XvR1>$B~y6D9XS95B$dAj$v3k1QhTVzhnI|3K)r9z$70JJtZeRn-A_V}5ON2W(d>L~YeHj%P E0G#lh?*IS* diff --git a/WatchDogCompleteTestAPI/Controllers/TestController.cs b/WatchDogCompleteTestAPI/Controllers/TestController.cs index 12b26a0..e8d20ec 100644 --- a/WatchDogCompleteTestAPI/Controllers/TestController.cs +++ b/WatchDogCompleteTestAPI/Controllers/TestController.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.ComponentModel.DataAnnotations; using WatchDogCompleteTestAPI.Models; @@ -10,9 +11,15 @@ namespace WatchDogCompleteTestAPI.Controllers [Route("[controller]")] public class TestController : Controller { + private readonly ILogger _logger; + public TestController(ILogger logger) + { + _logger = logger; + } [HttpGet("testGet")] public Product TestGet(string reference) { + _logger.LogInformation("....Test Log...."); return new Product { Id = 1, Name = "Get Test Product", Description = $"This is the response from testGet - {reference}", IsOnSale = true }; } diff --git a/WatchDogCompleteTestAPI/Program.cs b/WatchDogCompleteTestAPI/Program.cs index 081dedd..acd7366 100644 --- a/WatchDogCompleteTestAPI/Program.cs +++ b/WatchDogCompleteTestAPI/Program.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using WatchDog; namespace WatchDogCompleteTestAPI { @@ -18,6 +19,10 @@ public static void Main(string[] args) public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) + .ConfigureLogging( logging => + { + logging.AddWatchDogLogger(); + }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); diff --git a/WatchDogCompleteTestAPI/Startup.cs b/WatchDogCompleteTestAPI/Startup.cs index 6a7d6e5..ce97bf0 100644 --- a/WatchDogCompleteTestAPI/Startup.cs +++ b/WatchDogCompleteTestAPI/Startup.cs @@ -28,7 +28,11 @@ public Startup(IConfiguration configuration) public void ConfigureServices(IServiceCollection services) { services.AddControllers(); - services.AddWatchDogServices(); + services.AddWatchDogServices(opt => + { + opt.DbDriverOption = WatchDogDbDriverEnum.Mongo; + opt.SetExternalDbConnString = "mongodb://localhost:27017"; + }); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. diff --git a/WatchDogCompleteTestAPI/watchlogs-log.db b/WatchDogCompleteTestAPI/watchlogs-log.db index aa41e7be58f2c2223799654cf050d91226a77fe2..84a645a1157fdaf7a11c069cb91a15f2b6e940df 100644 GIT binary patch delta 115924 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 From f5f58fdc241abc13a667f2dd9aac9a7e1853befa Mon Sep 17 00:00:00 2001 From: hramirez Date: Tue, 2 Apr 2024 13:10:10 -0600 Subject: [PATCH 2/2] Corrections, optimization and adjustments for centralized approach with microservices with more than 10 million records per day. --- WatchDog/WatchDogExtension.cs | 2 +- .../src/Controllers/WatchPageController.cs | 13 +- WatchDog/src/Data/ExternalDbContext.cs | 51 +++- WatchDog/src/Helpers/GeneralHelper.cs | 5 + WatchDog/src/Helpers/LiteDBHelper.cs | 93 +++++- WatchDog/src/Helpers/MongoDBHelper.cs | 62 +++- WatchDog/src/Helpers/PaginatedEnumerable.cs | 6 + WatchDog/src/Helpers/SQLDbHelper.cs | 276 +++++++++++++++--- WatchDog/src/Managers/DynamicDBManager.cs | 26 +- WatchDog/src/Models/RequestModel.cs | 2 + WatchDog/src/Models/WatchDogConfigModel.cs | 3 + WatchDog/src/Models/WatchDogOptionsModel.cs | 2 + WatchDog/src/Models/WatchExceptionLog.cs | 5 + WatchDog/src/Models/WatchLog.cs | 2 + WatchDog/src/Models/WatchLoggerModel.cs | 1 + WatchDog/src/Utilities/Constants.cs | 2 +- WatchDog/src/WatchDog.cs | 35 ++- WatchDog/src/WatchDogExceptionLogger.cs | 65 ++++- WatchDog/src/WatchLogger.cs | 3 +- WatchDog/src/WatchPage/index.html | 215 +++++++++++--- WatchDogCompleteApiNet6/Program.cs | 27 +- 21 files changed, 770 insertions(+), 126 deletions(-) diff --git a/WatchDog/WatchDogExtension.cs b/WatchDog/WatchDogExtension.cs index e6c4597..672cd22 100644 --- a/WatchDog/WatchDogExtension.cs +++ b/WatchDog/WatchDogExtension.cs @@ -34,7 +34,7 @@ public static IServiceCollection AddWatchDogServices(this IServiceCollection ser AutoClearModel.ClearTimeSchedule = options.ClearTimeSchedule; WatchDogExternalDbConfig.ConnectionString = options.SetExternalDbConnString; WatchDogDatabaseDriverOption.DatabaseDriverOption = options.DbDriverOption; - WatchDogExternalDbConfig.MongoDbName = Assembly.GetCallingAssembly().GetName().Name?.Replace('.', '_') + "_WatchDogDB"; + WatchDogExternalDbConfig.MongoDbName = string.IsNullOrEmpty(options.MongoDbName) ? Assembly.GetCallingAssembly().GetName().Name?.Replace('.', '_') + "_WatchDogDB" : options.MongoDbName; if (!string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString) && WatchDogDatabaseDriverOption.DatabaseDriverOption == 0) throw new WatchDogDBDriverException("Missing DB Driver Option: DbDriverOption is required at .AddWatchDogServices()"); diff --git a/WatchDog/src/Controllers/WatchPageController.cs b/WatchDog/src/Controllers/WatchPageController.cs index ea70e25..e7d64b3 100644 --- a/WatchDog/src/Controllers/WatchPageController.cs +++ b/WatchDog/src/Controllers/WatchPageController.cs @@ -21,23 +21,24 @@ public WatchPageController() } [CustomAuthenticationFilter] - public async Task Index(string searchString = "", string verbString = "", string statusCode = "", int pageNumber = 1) + public async Task Index(string searchString = "", string verbString = "", string statusCode = "", int pageNumber = 1, string tag = "", string eventId = "", + string ipAddress = "", DateTime? initialTimeStamp = null, DateTime? finalTimeStamp = null) { - var result = await DynamicDBManager.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber); + var result = await DynamicDBManager.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber, tag, eventId, ipAddress, initialTimeStamp, finalTimeStamp); return Json(new { PageIndex = result.PageIndex, TotalPages = result.TotalPages, HasNext = result.HasNextPage, HasPrevious = result.HasPreviousPage, logs = result.Data }, GeneralHelper.CamelCaseSerializer); } [CustomAuthenticationFilter] - public async Task Exceptions(string searchString = "", int pageNumber = 1) + public async Task Exceptions(string searchString = "", int pageNumber = 1, bool negateTypeOf = false, string typeOf = "", string tag = "", string eventId = "", string ipAddress = "", DateTime? initialEncounteredAt = null, DateTime? finalEncounteredAt = null) { - var result = await DynamicDBManager.GetAllWatchExceptionLogs(searchString, pageNumber); + var result = await DynamicDBManager.GetAllWatchExceptionLogs(searchString, pageNumber, negateTypeOf, typeOf, tag, eventId, ipAddress, initialEncounteredAt, finalEncounteredAt); return Json(new { PageIndex = result.PageIndex, TotalPages = result.TotalPages, HasNext = result.HasNextPage, HasPrevious = result.HasPreviousPage, logs = result.Data }, GeneralHelper.CamelCaseSerializer); } [CustomAuthenticationFilter] - public async Task Logs(string searchString = "", string logLevelString = "", int pageNumber = 1) + public async Task Logs(string searchString = "", string logLevelString = "", int pageNumber = 1, string tag = "", DateTime? initialEncounteredAt = null, DateTime? finalEncounteredAt = null) { - var result = await DynamicDBManager.GetAllLogs(searchString, logLevelString, pageNumber); + var result = await DynamicDBManager.GetAllLogs(searchString, logLevelString, pageNumber, tag, initialEncounteredAt, finalEncounteredAt); return Json(new { PageIndex = result.PageIndex, TotalPages = result.TotalPages, HasNext = result.HasNextPage, HasPrevious = result.HasPreviousPage, logs = result.Data }, GeneralHelper.CamelCaseSerializer); } diff --git a/WatchDog/src/Data/ExternalDbContext.cs b/WatchDog/src/Data/ExternalDbContext.cs index 500035b..83fc2f5 100644 --- a/WatchDog/src/Data/ExternalDbContext.cs +++ b/WatchDog/src/Data/ExternalDbContext.cs @@ -89,7 +89,10 @@ public static void MigrateNoSql() throw new WatchDogDatabaseException(ex.Message); } } - + + // When there are more than 20 million records the creation date is necessary to find records within a time range in an optimal way + // and it is also necessary in the SQL database to debug keeping a history instead of using truncate. + // WatchLogExceptionTableName.timeSpent - This information is important for timeout type exceptions. public static string GetSqlQueryString() => WatchDogDatabaseDriverOption.DatabaseDriverOption switch { @@ -108,7 +111,10 @@ host VARCHAR(max), ipAddress VARCHAR(30), timeSpent VARCHAR(100), startTime VARCHAR(100) NOT NULL, - endTime VARCHAR(100) NOT NULL + endTime VARCHAR(100) NOT NULL, + tag VARCHAR(100), + eventId VARCHAR(36), + creation_date DATETIME DEFAULT GETDATE() ); IF OBJECT_ID('dbo.{Constants.WatchLogExceptionTableName}', 'U') IS NULL CREATE TABLE {Constants.WatchLogExceptionTableName} ( id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, @@ -120,7 +126,13 @@ path VARCHAR(max), method VARCHAR(30), queryString VARCHAR(max), requestBody VARCHAR(max), - encounteredAt VARCHAR(100) NOT NULL + encounteredAt VARCHAR(100) NOT NULL, + host VARCHAR(max), + ipAddress VARCHAR(30), + timeSpent VARCHAR(100), + tag VARCHAR(100), + eventId VARCHAR(36), + creation_date DATETIME DEFAULT GETDATE() ); IF OBJECT_ID('dbo.{Constants.LogsTableName}', 'U') IS NULL CREATE TABLE {Constants.LogsTableName} ( id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, @@ -130,7 +142,9 @@ timestamp VARCHAR(100) NOT NULL, callingFrom VARCHAR(100), callingMethod VARCHAR(100), lineNumber INT, - logLevel VARCHAR(30) + logLevel VARCHAR(30), + tag VARCHAR(100), + creation_date DATETIME DEFAULT GETDATE() ); ", @@ -149,7 +163,10 @@ host VARCHAR(65535), ipAddress VARCHAR(30), timeSpent VARCHAR(100), startTime VARCHAR(100) NOT NULL, - endTime VARCHAR(100) NOT NULL + endTime VARCHAR(100) NOT NULL, + tag VARCHAR(100), + eventId VARCHAR(36), + creation_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS {Constants.WatchLogExceptionTableName} ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, @@ -162,6 +179,12 @@ method VARCHAR(30), queryString VARCHAR(65535), requestBody TEXT(65535), encounteredAt VARCHAR(100) NOT NULL + host VARCHAR(65535), + ipAddress VARCHAR(30), + timeSpent VARCHAR(100), + tag VARCHAR(100), + eventId VARCHAR(36), + creation_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS {Constants.LogsTableName} ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, @@ -171,7 +194,9 @@ timestamp VARCHAR(100) NOT NULL, callingFrom VARCHAR(100), callingMethod VARCHAR(100), lineNumber INT, - logLevel VARCHAR(30) + logLevel VARCHAR(30), + tag VARCHAR(100), + creation_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ", @@ -190,7 +215,9 @@ method VARCHAR(30), ipAddress VARCHAR(30), timeSpent VARCHAR, startTime TIMESTAMP with time zone NOT NULL, - endTime TIMESTAMP with time zone NOT NULL + endTime TIMESTAMP with time zone NOT NULL, + tag VARCHAR, + eventId VARCHAR(36) ); CREATE TABLE IF NOT EXISTS {Constants.WatchLogExceptionTableName} ( id SERIAL PRIMARY KEY, @@ -202,7 +229,12 @@ endTime TIMESTAMP with time zone NOT NULL method VARCHAR(30), queryString VARCHAR, requestBody VARCHAR, - encounteredAt TIMESTAMP with time zone NOT NULL + encounteredAt TIMESTAMP with time zone NOT NULL, + host VARCHAR, + ipAddress VARCHAR(30), + timeSpent VARCHAR, + tag VARCHAR, + eventId VARCHAR(36) ); CREATE TABLE IF NOT EXISTS {Constants.LogsTableName} ( id SERIAL PRIMARY KEY, @@ -212,7 +244,8 @@ eventId VARCHAR(100), callingFrom VARCHAR, callingMethod VARCHAR(100), lineNumber INTEGER, - logLevel VARCHAR(30) + logLevel VARCHAR(30), + tag VARCHAR ); ", _ => "" diff --git a/WatchDog/src/Helpers/GeneralHelper.cs b/WatchDog/src/Helpers/GeneralHelper.cs index e1c2ea2..96aceef 100644 --- a/WatchDog/src/Helpers/GeneralHelper.cs +++ b/WatchDog/src/Helpers/GeneralHelper.cs @@ -34,6 +34,11 @@ public static bool IsPostgres() return !string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString) && WatchDogDatabaseDriverOption.DatabaseDriverOption == Enums.WatchDogDbDriverEnum.PostgreSql; } + public static bool IsMySql() + { + return !string.IsNullOrEmpty(WatchDogExternalDbConfig.ConnectionString) && WatchDogDatabaseDriverOption.DatabaseDriverOption == Enums.WatchDogDbDriverEnum.MySql; + } + public static dynamic CamelCaseSerializer => WatchDog.Serializer switch { diff --git a/WatchDog/src/Helpers/LiteDBHelper.cs b/WatchDog/src/Helpers/LiteDBHelper.cs index b72736f..b658b7f 100644 --- a/WatchDog/src/Helpers/LiteDBHelper.cs +++ b/WatchDog/src/Helpers/LiteDBHelper.cs @@ -1,4 +1,5 @@ -using LiteDB; +using System; +using LiteDB; using WatchDog.src.Models; namespace WatchDog.src.Helpers @@ -12,13 +13,15 @@ internal static class LiteDBHelper //WATCH lOGS OPERATION - public static Page GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber) + public static Page GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber, + string tag, string eventId, string ipAddress, DateTime? initialTimeStamp, DateTime? finalTimeStamp) { var query = _watchLogs.Query(); if (!string.IsNullOrEmpty(searchString)) { searchString = searchString.ToLower(); - query.Where(l => l.Path.ToLower().Contains(searchString) || l.Method.ToLower().Contains(searchString) || l.ResponseStatus.ToString().Contains(searchString) || (!string.IsNullOrEmpty(l.QueryString) && l.QueryString.ToLower().Contains(searchString))); + query.Where(l => l.Path.ToLower().Contains(searchString) || l.Method.ToLower().Contains(searchString) || l.ResponseStatus.ToString().Contains(searchString) || (!string.IsNullOrEmpty(l.QueryString) && l.QueryString.ToLower().Contains(searchString)) + || l.RequestBody.ToLower().Contains(searchString)); } if (!string.IsNullOrEmpty(verbString)) @@ -30,6 +33,32 @@ public static Page GetAllWatchLogs(string searchString, string verbStr { query.Where(l => l.ResponseStatus.ToString() == statusCode); } + + if (!string.IsNullOrEmpty(tag)) + { + query.Where(l => l.Tag.ToLower().Contains(tag.ToLower())); + } + + if (!string.IsNullOrEmpty(eventId)) + { + query.Where(l => l.EventId.ToLower().Contains(eventId.ToLower())); + } + + if (!string.IsNullOrEmpty(ipAddress)) + { + query.Where(l => l.IpAddress.Contains(ipAddress)); + } + + if (initialTimeStamp != null) + { + query.Where(l => l.StartTime >= initialTimeStamp); + } + + if (finalTimeStamp != null) + { + query.Where(l => l.StartTime <= finalTimeStamp); + } + return query.OrderByDescending(x => x.Id).ToPaginatedList(pageNumber); } public static int InsertWatchLog(WatchLog log) @@ -44,14 +73,50 @@ public static int ClearWatchLog() //Watch Exception Operations - public static Page GetAllWatchExceptionLogs(string searchString, int pageNumber) + public static Page GetAllWatchExceptionLogs(string searchString, int pageNumber, bool negateTypeOf, + string typeOf, string tag, string eventId, string ipAddress, DateTime? initialEncounteredAt, DateTime? finalEncounteredAt) { var query = _watchExLogs.Query(); if (!string.IsNullOrEmpty(searchString)) { searchString = searchString.ToLower(); - query.Where(l => l.Message.ToLower().Contains(searchString) || l.StackTrace.ToLower().Contains(searchString) || l.Source.ToLower().Contains(searchString)); + query.Where(l => l.Message.ToLower().Contains(searchString) || l.StackTrace.ToLower().Contains(searchString) || l.Source.ToLower().Contains(searchString) + || l.RequestBody.ToLower().Contains(searchString)); + } + + if (!string.IsNullOrEmpty(typeOf)) + { + if (negateTypeOf) + query.Where(x => !x.TypeOf.Contains(typeOf)); + else + query.Where(x => x.TypeOf.Contains(typeOf)); + } + + if (!string.IsNullOrEmpty(tag)) + { + query.Where(l => l.Tag.ToLower().Contains(tag.ToLower())); } + + if (!string.IsNullOrEmpty(eventId)) + { + query.Where(l => l.EventId.ToLower().Contains(eventId.ToLower())); + } + + if (!string.IsNullOrEmpty(ipAddress)) + { + query.Where(l => l.IpAddress.Contains(ipAddress)); + } + + if (initialEncounteredAt != null) + { + query.Where(l => l.EncounteredAt >= initialEncounteredAt); + } + + if (finalEncounteredAt != null) + { + query.Where(l => l.EncounteredAt <= finalEncounteredAt); + } + return query.OrderByDescending(x => x.Id).ToPaginatedList(pageNumber); } @@ -73,9 +138,25 @@ public static int ClearLogs() { return _logs.DeleteAll(); } - public static Page GetAllLogs(string searchString, string logLevelString, int pageNumber) + public static Page GetAllLogs(string searchString, string logLevelString, int pageNumber, string tag, DateTime? initialEncounteredAt, DateTime? finalEncounteredAt) { var query = _logs.Query(); + + if (!string.IsNullOrEmpty(tag)) + { + query.Where(l => l.Tag.ToLower().Contains(tag.ToLower())); + } + + if (initialEncounteredAt != null) + { + query.Where(l => l.Timestamp >= initialEncounteredAt); + } + + if (finalEncounteredAt != null) + { + query.Where(l => l.Timestamp <= finalEncounteredAt); + } + if (!string.IsNullOrEmpty(searchString)) { searchString = searchString.ToLower(); diff --git a/WatchDog/src/Helpers/MongoDBHelper.cs b/WatchDog/src/Helpers/MongoDBHelper.cs index 4e0f45d..12faaef 100644 --- a/WatchDog/src/Helpers/MongoDBHelper.cs +++ b/WatchDog/src/Helpers/MongoDBHelper.cs @@ -1,4 +1,5 @@ using MongoDB.Driver; +using System; using System.Threading.Tasks; using WatchDog.src.Data; using WatchDog.src.Models; @@ -17,7 +18,8 @@ internal class MongoDBHelper //WATCH lOGS OPERATION - public static Page GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber) + public static Page GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber, + string tag, string eventId, string ipAddress, DateTime? initialTimeStamp, DateTime? finalTimeStamp) { searchString = searchString?.ToLower(); var builder = Builders.Filter; @@ -29,8 +31,24 @@ public static Page GetAllWatchLogs(string searchString, string verbStr if (!string.IsNullOrEmpty(verbString)) filter &= builder.Eq(x => x.Method, verbString); + if (!string.IsNullOrEmpty(tag)) + filter &= builder.Where(l => l.Tag.ToLower().Contains(tag.ToLower())); + + if (!string.IsNullOrEmpty(eventId)) + filter &= builder.Where(l => l.EventId.ToLower().Contains(eventId.ToLower())); + + if (!string.IsNullOrEmpty(ipAddress)) + filter &= builder.Where(l => l.IpAddress.Contains(ipAddress)); + + if (initialTimeStamp != null) + filter &= builder.Gte(x => x.StartTime, initialTimeStamp); + + if (finalTimeStamp != null) + filter &= builder.Lte(x => x.StartTime, finalTimeStamp); + if (!string.IsNullOrEmpty(searchString)) - filter &= builder.Where(l => l.Path.ToLower().Contains(searchString) || l.Method.ToLower().Contains(searchString) || (!string.IsNullOrEmpty(l.QueryString) && l.QueryString.ToLower().Contains(searchString))); + filter &= builder.Where(l => l.Path.ToLower().Contains(searchString) || l.Method.ToLower().Contains(searchString) || (!string.IsNullOrEmpty(l.QueryString) && l.QueryString.ToLower().Contains(searchString)) + || l.RequestBody.ToLower().Contains(searchString)); var result = _watchLogs.Find(filter).SortByDescending(x => x.Id).ToPaginatedList(pageNumber); return result; @@ -49,14 +67,39 @@ public static async Task ClearWatchLog() } //Watch Exception Operations - public static Page GetAllWatchExceptionLogs(string searchString, int pageNumber) + public static Page GetAllWatchExceptionLogs(string searchString, int pageNumber, bool negateTypeOf, + string typeOf, string tag, string eventId, string ipAddress, DateTime? initialEncounteredAt, DateTime? finalEncounteredAt) { searchString = searchString?.ToLower(); var builder = Builders.Filter; var filter = builder.Empty; + if (!string.IsNullOrEmpty(typeOf)) + { + if (negateTypeOf) + filter &= builder.Where(x => !x.TypeOf.Contains(typeOf)); + else + filter &= builder.Where(x => x.TypeOf.Contains(typeOf)); + } + + if (!string.IsNullOrEmpty(tag)) + filter &= builder.Where(l => l.Tag.ToLower().Contains(tag.ToLower())); + + if (!string.IsNullOrEmpty(eventId)) + filter &= builder.Where(l => l.EventId.ToLower().Contains(eventId.ToLower())); + + if (!string.IsNullOrEmpty(ipAddress)) + filter &= builder.Where(l => l.IpAddress.Contains(ipAddress)); + + if (initialEncounteredAt != null) + filter &= builder.Gte(x => x.EncounteredAt, initialEncounteredAt); + + if (finalEncounteredAt != null) + filter &= builder.Lte(x => x.EncounteredAt, finalEncounteredAt); + if (!string.IsNullOrEmpty(searchString)) - filter &= builder.Where(l => l.Message.ToLower().Contains(searchString) || l.StackTrace.ToLower().Contains(searchString) || l.Source.ToLower().Contains(searchString)); + filter &= builder.Where(l => l.Message.ToLower().Contains(searchString) || l.StackTrace.ToLower().Contains(searchString) || l.Source.ToLower().Contains(searchString) + || l.RequestBody.ToLower().Contains(searchString)); var result = _watchExLogs.Find(filter).SortByDescending(x => x.Id).ToPaginatedList(pageNumber); return result; @@ -85,12 +128,21 @@ public static async Task ClearLogs() var deleteResult = await _logs.DeleteManyAsync(Builders.Filter.Empty); return deleteResult.IsAcknowledged; } - public static Page GetAllLogs(string searchString, string logLevelString, int pageNumber) + public static Page GetAllLogs(string searchString, string logLevelString, int pageNumber, string tag, DateTime? initialEncounteredAt, DateTime? finalEncounteredAt) { searchString = searchString?.ToLower(); var builder = Builders.Filter; var filter = builder.Empty; + if (!string.IsNullOrEmpty(tag)) + filter &= builder.Where(l => l.Tag.ToLower().Contains(tag.ToLower())); + + if (initialEncounteredAt != null) + filter &= builder.Gte(x => x.Timestamp, initialEncounteredAt); + + if (finalEncounteredAt != null) + filter &= builder.Lte(x => x.Timestamp, finalEncounteredAt); + if (!string.IsNullOrEmpty(searchString)) filter &= builder.Where(l => l.Message.ToLower().Contains(searchString) || l.CallingMethod.ToLower().Contains(searchString) || l.CallingFrom.ToLower().Contains(searchString) || (!string.IsNullOrEmpty(l.EventId) && l.EventId.ToLower().Contains(searchString))); diff --git a/WatchDog/src/Helpers/PaginatedEnumerable.cs b/WatchDog/src/Helpers/PaginatedEnumerable.cs index 51dd2bf..39c21f6 100644 --- a/WatchDog/src/Helpers/PaginatedEnumerable.cs +++ b/WatchDog/src/Helpers/PaginatedEnumerable.cs @@ -44,5 +44,11 @@ public static Page ToPaginatedList(this ILiteQueryable source, int page var items = source.Skip((pageIndex - 1) * pageSize).Limit(pageSize).ToEnumerable(); return new Page(items, count, pageIndex, pageSize); } + + public static Page ToPaginatedList(this IEnumerable source, int pageIndex, int count, int pageSize = Constants.PageSize) + { + var items = source; + return new Page(items, count, pageIndex, pageSize); + } } } diff --git a/WatchDog/src/Helpers/SQLDbHelper.cs b/WatchDog/src/Helpers/SQLDbHelper.cs index 3c4e69e..055ab68 100644 --- a/WatchDog/src/Helpers/SQLDbHelper.cs +++ b/WatchDog/src/Helpers/SQLDbHelper.cs @@ -1,5 +1,7 @@ using Dapper; +using System; using System.Data; +using System.Linq; using System.Threading.Tasks; using WatchDog.src.Data; using WatchDog.src.Models; @@ -10,45 +12,110 @@ namespace WatchDog.src.Helpers internal static class SQLDbHelper { // WATCHLOG OPERATIONS - public static async Task> GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber) + public static async Task> GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber, + string tag, string eventId, string ipAddress, DateTime? initialTimeStamp, DateTime? finalTimeStamp) { - var query = @$"SELECT * FROM {Constants.WatchLogTableName} "; + string rowQuery, pageQuery, query = string.Empty, closeQuery = string.Empty; - if (!string.IsNullOrEmpty(searchString) || !string.IsNullOrEmpty(verbString) || !string.IsNullOrEmpty(statusCode)) - query += "WHERE "; + if (GeneralHelper.IsPostgres()) + { + rowQuery = @$"WITH data as (SELECT ROW_NUMBER() OVER (ORDER BY {nameof(WatchLog.Id)} DESC) as RowNum, * FROM {Constants.WatchLogTableName} WHERE 1=1 "; + pageQuery = @$") SELECT * FROM data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + else if (GeneralHelper.IsMySql()) + { + rowQuery = @$"SELECT @row_number:=@row_number+1 AS RowNum, * FROM {Constants.WatchLogTableName}, (SELECT @row_number:=0) AS t WHERE 1=1 ORDER BY {nameof(WatchLog.Id)} DESC "; + pageQuery = @$"SELECT *, DATE_FORMAT(creation_date, '%M %d, %Y %h:%i %p') as StartTime FROM ({rowQuery}) AS data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + else // SQL Server + { + rowQuery = @$"WITH data as (SELECT ROW_NUMBER() over(ORDER BY {nameof(WatchLog.Id)} DESC) as RowNum, * FROM {Constants.WatchLogTableName} WHERE 1=1 "; + pageQuery = @$") SELECT *, FORMAT(creation_date, 'MMMM dd, yyyy hh:mm tt') as StartTime FROM data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + + if (!string.IsNullOrEmpty(searchString) || !string.IsNullOrEmpty(verbString) || !string.IsNullOrEmpty(statusCode) + || !string.IsNullOrEmpty(tag) || !string.IsNullOrEmpty(eventId) || !string.IsNullOrEmpty(ipAddress) || initialTimeStamp != null || finalTimeStamp != null) + { + query += "AND ( 1=1"; + closeQuery = " ) "; + } if (!string.IsNullOrEmpty(searchString)) { if(GeneralHelper.IsPostgres()) - query += $"({nameof(WatchLog.Path)} LIKE '%{searchString}%' OR {nameof(WatchLog.Method)} LIKE '%{searchString}%' OR {nameof(WatchLog.ResponseStatus)}::text LIKE '%{searchString}%' OR {nameof(WatchLog.QueryString)} LIKE '%{searchString}%')" + (string.IsNullOrEmpty(statusCode) && string.IsNullOrEmpty(verbString) ? "" : " AND "); + query += $" AND ({nameof(WatchLog.Path)} ILIKE '%{searchString}%' OR {nameof(WatchLog.Method)} ILIKE '%{searchString}%' OR {nameof(WatchLog.ResponseStatus)}::text ILIKE '%{searchString}%' OR {nameof(WatchLog.QueryString)} ILIKE '%{searchString}%' OR {nameof(WatchLog.RequestBody)} ILIKE '%{searchString}%')"; else - query += $"({nameof(WatchLog.Path)} LIKE '%{searchString}%' OR {nameof(WatchLog.Method)} LIKE '%{searchString}%' OR {nameof(WatchLog.ResponseStatus)} LIKE '%{searchString}%' OR {nameof(WatchLog.QueryString)} LIKE '%{searchString}%')" + (string.IsNullOrEmpty(statusCode) && string.IsNullOrEmpty(verbString) ? "" : " AND "); + query += $" AND ({nameof(WatchLog.Path)} LIKE '%{searchString}%' OR {nameof(WatchLog.Method)} LIKE '%{searchString}%' OR {nameof(WatchLog.ResponseStatus)} LIKE '%{searchString}%' OR {nameof(WatchLog.QueryString)} LIKE '%{searchString}%' OR {nameof(WatchLog.RequestBody)} LIKE '%{searchString}%')"; } if (!string.IsNullOrEmpty(verbString)) { - query += $"{nameof(WatchLog.Method)} LIKE '%{verbString}%' " + (string.IsNullOrEmpty(statusCode) ? "" : "AND "); + query += $" AND {nameof(WatchLog.Method)} LIKE '%{verbString}%' "; } if (!string.IsNullOrEmpty(statusCode)) { - query += $"{nameof(WatchLog.ResponseStatus)} = {statusCode}"; + query += $" AND {nameof(WatchLog.ResponseStatus)} = {statusCode}"; + } + + if (!string.IsNullOrEmpty(tag)) + { + if(GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchLog.Tag)} ILIKE '%{tag}%' "; + else + query += $" AND {nameof(WatchLog.Tag)} LIKE '%{tag}%' "; } - query += $" ORDER BY {nameof(WatchLog.Id)} DESC"; + + if (!string.IsNullOrEmpty(eventId)) + { + if(GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchLog.EventId)} ILIKE '%{eventId}%' "; + else + query += $" AND {nameof(WatchLog.EventId)} LIKE '%{eventId}%' "; + } + + if (!string.IsNullOrEmpty(ipAddress)) + { + query += $" AND {nameof(WatchLog.IpAddress)} LIKE '%{ipAddress}%' "; + } + + if (initialTimeStamp != null) + { + if (GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchLog.StartTime)} >= '{initialTimeStamp.Value.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of web server + else + query += $" AND creation_date >= '{initialTimeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of sql server + } + + if (finalTimeStamp != null) + { + if (GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchLog.StartTime)} <= '{finalTimeStamp.Value.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of web server + else + query += $" AND creation_date <= '{finalTimeStamp.Value.ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of sql server + } + + query += closeQuery; + var countQuery = @$"SELECT COUNT(*) FROM {Constants.WatchLogTableName} WHERE 1=1 {query}"; + var fullQuery = rowQuery + query + pageQuery + query; + using (var connection = ExternalDbContext.CreateSQLConnection()) { connection.Open(); - var logs = await connection.QueryAsync(query); + var countData = await connection.QueryAsync(countQuery); + var logs = await connection.QueryAsync(fullQuery); connection.Close(); - return logs.ToPaginatedList(pageNumber); + + var count = countData.ElementAt(0); + return logs.ToPaginatedList(pageNumber, count, Constants.PageSize); } } public static async Task InsertWatchLog(WatchLog log) { bool isPostgres = GeneralHelper.IsPostgres(); - var query = @$"INSERT INTO {Constants.WatchLogTableName} (responseBody,responseStatus,requestBody,queryString,path,requestHeaders,responseHeaders,method,host,ipAddress,timeSpent,startTime,endTime) " + - "VALUES (@ResponseBody,@ResponseStatus,@RequestBody,@QueryString,@Path,@RequestHeaders,@ResponseHeaders,@Method,@Host,@IpAddress,@TimeSpent,@StartTime,@EndTime);"; + var query = @$"INSERT INTO {Constants.WatchLogTableName} (responseBody,responseStatus,requestBody,queryString,path,requestHeaders,responseHeaders,method,host,ipAddress,timeSpent,startTime,endTime,tag,eventId) " + + "VALUES (@ResponseBody,@ResponseStatus,@RequestBody,@QueryString,@Path,@RequestHeaders,@ResponseHeaders,@Method,@Host,@IpAddress,@TimeSpent,@StartTime,@EndTime,@Tag,@EventId);"; var parameters = new DynamicParameters(); parameters.Add("ResponseBody", isPostgres ? log.ResponseBody.Replace("\u0000", "") : log.ResponseBody, DbType.String); @@ -74,6 +141,9 @@ public static async Task InsertWatchLog(WatchLog log) parameters.Add("EndTime", log.EndTime); } + parameters.Add("Tag", log.Tag, DbType.String); + parameters.Add("EventId", log.EventId, DbType.String); + using (var connection = ExternalDbContext.CreateSQLConnection()) { connection.Open(); @@ -85,26 +155,106 @@ public static async Task InsertWatchLog(WatchLog log) // WATCH EXCEPTION OPERATIONS - public static async Task> GetAllWatchExceptionLogs(string searchString, int pageNumber) + public static async Task> GetAllWatchExceptionLogs(string searchString, int pageNumber, bool negateTypeOf, + string typeOf, string tag, string eventId, string ipAddress, DateTime? initialEncounteredAt, DateTime? finalEncounteredAt) { - var query = @$"SELECT * FROM {Constants.WatchLogExceptionTableName} "; + string rowQuery, pageQuery, query = string.Empty, closeQuery = string.Empty; + + if (GeneralHelper.IsPostgres()) + { + rowQuery = @$"WITH data as (SELECT ROW_NUMBER() OVER (ORDER BY {nameof(WatchExceptionLog.Id)} DESC) as RowNum, * FROM {Constants.WatchLogExceptionTableName} WHERE 1=1 "; + pageQuery = @$") SELECT * FROM data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + else if (GeneralHelper.IsMySql()) + { + rowQuery = @$"SELECT @row_number:=@row_number+1 AS RowNum, * FROM {Constants.WatchLogExceptionTableName}, (SELECT @row_number:=0) AS t WHERE 1=1 ORDER BY {nameof(WatchExceptionLog.Id)} DESC "; + pageQuery = @$"SELECT *, DATE_FORMAT(creation_date, '%M %d, %Y %h:%i %p') as EncounteredAt FROM ({rowQuery}) AS data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + else // SQL Server + { + rowQuery = @$"WITH data as (SELECT ROW_NUMBER() over(ORDER BY {nameof(WatchExceptionLog.Id)} DESC) as RowNum, * FROM {Constants.WatchLogExceptionTableName} WHERE 1=1 "; + pageQuery = @$") SELECT *, FORMAT(creation_date, 'MMMM dd, yyyy hh:mm tt') as EncounteredAt FROM data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + + if (!string.IsNullOrEmpty(searchString) || !string.IsNullOrEmpty(typeOf) || !string.IsNullOrEmpty(tag) || !string.IsNullOrEmpty(eventId) || !string.IsNullOrEmpty(ipAddress) || initialEncounteredAt != null || finalEncounteredAt != null) + { + query += "AND ( 1=1"; + closeQuery = " ) "; + } + if (!string.IsNullOrEmpty(searchString)) { - searchString = searchString.ToLower(); - query += $"WHERE {nameof(WatchExceptionLog.Source)} LIKE '%{searchString}%' OR {nameof(WatchExceptionLog.Message)} LIKE '%{searchString}%' OR {nameof(WatchExceptionLog.StackTrace)} LIKE '%{searchString}%' "; + if(GeneralHelper.IsPostgres()) + query += $" AND ({nameof(WatchExceptionLog.Source)} ILIKE '%{searchString}%' OR {nameof(WatchExceptionLog.Message)} ILIKE '%{searchString}%' OR {nameof(WatchExceptionLog.StackTrace)} ILIKE '%{searchString}%')"; + else + query += $" AND ({nameof(WatchExceptionLog.Source)} LIKE '%{searchString}%' OR {nameof(WatchExceptionLog.Message)} LIKE '%{searchString}%' OR {nameof(WatchExceptionLog.StackTrace)} LIKE '%{searchString}%')"; + } + + if (!string.IsNullOrEmpty(typeOf)) + { + if (negateTypeOf) + query += $" AND {nameof(WatchExceptionLog.TypeOf)} NOT LIKE '%{typeOf}%' "; + else + query += $" AND {nameof(WatchExceptionLog.TypeOf)} LIKE '%{typeOf}%' "; + } + + if (!string.IsNullOrEmpty(tag)) + { + if(GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchExceptionLog.Tag)} ILIKE '%{tag}%' "; + else + query += $" AND {nameof(WatchExceptionLog.Tag)} LIKE '%{tag}%' "; } - query += $"ORDER BY {nameof(WatchExceptionLog.Id)} DESC"; + + if (!string.IsNullOrEmpty(eventId)) + { + if(GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchExceptionLog.EventId)} ILIKE '%{eventId}%' "; + else + query += $" AND {nameof(WatchExceptionLog.EventId)} LIKE '%{eventId}%' "; + } + + if (!string.IsNullOrEmpty(ipAddress)) + { + query += $" AND {nameof(WatchExceptionLog.IpAddress)} LIKE '%{ipAddress}%' "; + } + + if (initialEncounteredAt != null) + { + if (GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchExceptionLog.EncounteredAt)} >= '{initialEncounteredAt.Value.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of web server + else + query += $" AND creation_date >= '{initialEncounteredAt.Value.ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of sql server + } + + if (finalEncounteredAt != null) + { + if (GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchExceptionLog.EncounteredAt)} <= '{finalEncounteredAt.Value.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of web server + else + query += $" AND creation_date <= '{finalEncounteredAt.Value.ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of sql server + } + + query += closeQuery; + var countQuery = @$"SELECT COUNT(*) FROM {Constants.WatchLogExceptionTableName} WHERE 1=1 {query}"; + var fullQuery = rowQuery + query + pageQuery + query; + using (var connection = ExternalDbContext.CreateSQLConnection()) { - var logs = await connection.QueryAsync(query); - return logs.ToPaginatedList(pageNumber); + connection.Open(); + var countData = await connection.QueryAsync(countQuery); + var logs = await connection.QueryAsync(fullQuery); + connection.Close(); + + var count = countData.ElementAt(0); + return logs.ToPaginatedList(pageNumber, count, Constants.PageSize); } } public static async Task InsertWatchExceptionLog(WatchExceptionLog log) { - var query = @$"INSERT INTO {Constants.WatchLogExceptionTableName} (message,stackTrace,typeOf,source,path,method,queryString,requestBody,encounteredAt) " + - "VALUES (@Message,@StackTrace,@TypeOf,@Source,@Path,@Method,@QueryString,@RequestBody,@EncounteredAt);"; + var query = @$"INSERT INTO {Constants.WatchLogExceptionTableName} (message,stackTrace,typeOf,source,path,method,queryString,requestBody,encounteredAt,host,ipAddress,timeSpent,tag,eventId) " + + "VALUES (@Message,@StackTrace,@TypeOf,@Source,@Path,@Method,@QueryString,@RequestBody,@EncounteredAt,@Host,@IpAddress,@TimeSpent,@Tag,@EventId);"; var parameters = new DynamicParameters(); parameters.Add("Message", log.Message, DbType.String); @@ -125,6 +275,12 @@ public static async Task InsertWatchExceptionLog(WatchExceptionLog log) parameters.Add("EncounteredAt", log.EncounteredAt, DbType.DateTime); } + parameters.Add("Host", log.Host, DbType.String); + parameters.Add("IpAddress", log.IpAddress, DbType.String); + parameters.Add("TimeSpent", log.TimeSpent, DbType.String); + parameters.Add("Tag", log.Tag, DbType.String); + parameters.Add("EventId", log.EventId, DbType.String); + using (var connection = ExternalDbContext.CreateSQLConnection()) { await connection.ExecuteAsync(query, parameters); @@ -132,38 +288,88 @@ public static async Task InsertWatchExceptionLog(WatchExceptionLog log) } // LOGS OPERATION - public static async Task> GetAllLogs(string searchString, string logLevelString, int pageNumber) + public static async Task> GetAllLogs(string searchString, string logLevelString, int pageNumber, string tag, DateTime? initialEncounteredAt, DateTime? finalEncounteredAt) { - var query = @$"SELECT * FROM {Constants.LogsTableName} "; + string rowQuery, pageQuery, query = string.Empty, closeQuery = string.Empty; - if (!string.IsNullOrEmpty(searchString) || !string.IsNullOrEmpty(logLevelString)) - query += "WHERE "; + if (GeneralHelper.IsPostgres()) + { + rowQuery = @$"WITH data as (SELECT ROW_NUMBER() OVER (ORDER BY {nameof(WatchLoggerModel.Id)} DESC) as RowNum, * FROM {Constants.LogsTableName} WHERE 1=1 "; + pageQuery = @$") SELECT * FROM data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + else if (GeneralHelper.IsMySql()) + { + rowQuery = @$"SELECT @row_number:=@row_number+1 AS RowNum, * FROM {Constants.LogsTableName}, (SELECT @row_number:=0) AS t WHERE 1=1 ORDER BY {nameof(WatchLoggerModel.Id)} DESC "; + pageQuery = @$"SELECT *, DATE_FORMAT(creation_date, '%M %d, %Y %h:%i %p') as Timestamp FROM ({rowQuery}) AS data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + else // SQL Server + { + rowQuery = @$"WITH data as (SELECT ROW_NUMBER() over(ORDER BY {nameof(WatchLoggerModel.Id)} DESC) as RowNum, * FROM {Constants.LogsTableName} WHERE 1=1 "; + pageQuery = @$") SELECT *, FORMAT(creation_date, 'MMMM dd, yyyy hh:mm tt') as Timestamp FROM data WHERE RowNum > (({pageNumber}-1) * {Constants.PageSize}) AND RowNum <= ({pageNumber} * {Constants.PageSize}) "; + } + + if (!string.IsNullOrEmpty(searchString) || !string.IsNullOrEmpty(logLevelString) || !string.IsNullOrEmpty(tag) || initialEncounteredAt != null || finalEncounteredAt != null) + { + query += "AND ( 1=1"; + closeQuery = " ) "; + } if (!string.IsNullOrEmpty(searchString)) { - searchString = searchString.ToLower(); - query += $"{nameof(WatchLoggerModel.CallingFrom)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.CallingMethod)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.Message)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.EventId)} LIKE '%{searchString}%' " + (string.IsNullOrEmpty(logLevelString) ? "" : "AND "); + if(GeneralHelper.IsPostgres()) + query += $" AND ({nameof(WatchLoggerModel.CallingFrom)} ILIKE '%{searchString}%' OR {nameof(WatchLoggerModel.CallingMethod)} ILIKE '%{searchString}%' OR {nameof(WatchLoggerModel.Message)} ILIKE '%{searchString}%' OR {nameof(WatchLoggerModel.EventId)} ILIKE '%{searchString}%') "; + else + query += $" AND ({nameof(WatchLoggerModel.CallingFrom)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.CallingMethod)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.Message)} LIKE '%{searchString}%' OR {nameof(WatchLoggerModel.EventId)} LIKE '%{searchString}%') "; + } + + if (!string.IsNullOrEmpty(tag)) + { + if(GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchLoggerModel.Tag)} ILIKE '%{tag}%' "; + else + query += $" AND {nameof(WatchLoggerModel.Tag)} LIKE '%{tag}%' "; } if (!string.IsNullOrEmpty(logLevelString)) { - query += $"{nameof(WatchLoggerModel.LogLevel)} LIKE '%{logLevelString}%' "; + query += $" AND {nameof(WatchLoggerModel.LogLevel)} LIKE '%{logLevelString}%' "; + } + + if (initialEncounteredAt != null) + { + if (GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchLoggerModel.Timestamp)} >= '{initialEncounteredAt.Value.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of web server + else + query += $" AND creation_date >= '{initialEncounteredAt.Value.ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of sql server } - query += $"ORDER BY {nameof(WatchLoggerModel.Id)} DESC"; + + if (finalEncounteredAt != null) + { + if (GeneralHelper.IsPostgres()) + query += $" AND {nameof(WatchLoggerModel.Timestamp)} <= '{finalEncounteredAt.Value.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of web server + else + query += $" AND creation_date <= '{finalEncounteredAt.Value.ToString("yyyy-MM-dd HH:mm:ss")}' "; //Time of sql server + } + + query += closeQuery; + var countQuery = @$"SELECT COUNT(*) FROM {Constants.LogsTableName} WHERE 1=1 {query}"; + var fullQuery = rowQuery + query + pageQuery + query; using (var connection = ExternalDbContext.CreateSQLConnection()) { connection.Open(); - var logs = await connection.QueryAsync(query); + var countData = await connection.QueryAsync(countQuery); + var logs = await connection.QueryAsync(fullQuery); connection.Close(); - return logs.ToPaginatedList(pageNumber); + var count = countData.ElementAt(0); + return logs.ToPaginatedList(pageNumber, count, Constants.PageSize); } } public static async Task InsertLog(WatchLoggerModel log) { - var query = @$"INSERT INTO {Constants.LogsTableName} (message,eventId,timestamp,callingFrom,callingMethod,lineNumber,logLevel) " + - "VALUES (@Message,@EventId,@Timestamp,@CallingFrom,@CallingMethod,@LineNumber,@LogLevel);"; + var query = @$"INSERT INTO {Constants.LogsTableName} (message,eventId,timestamp,callingFrom,callingMethod,lineNumber,logLevel,tag) " + + "VALUES (@Message,@EventId,@Timestamp,@CallingFrom,@CallingMethod,@LineNumber,@LogLevel,@Tag);"; var parameters = new DynamicParameters(); parameters.Add("Message", log.Message, DbType.String); @@ -182,6 +388,8 @@ public static async Task InsertLog(WatchLoggerModel log) parameters.Add("Timestamp", log.Timestamp, DbType.DateTime); } + parameters.Add("Tag", log.Tag, DbType.String); + using (var connection = ExternalDbContext.CreateSQLConnection()) { await connection.ExecuteAsync(query, parameters); diff --git a/WatchDog/src/Managers/DynamicDBManager.cs b/WatchDog/src/Managers/DynamicDBManager.cs index 46b11a9..5120516 100644 --- a/WatchDog/src/Managers/DynamicDBManager.cs +++ b/WatchDog/src/Managers/DynamicDBManager.cs @@ -42,12 +42,13 @@ public static async Task ClearLogs() => }; // WATCHLOG OPERATIONS - public static async Task> GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber) => + public static async Task> GetAllWatchLogs(string searchString, string verbString, string statusCode, int pageNumber, + string tag, string eventId, string ipAddress, DateTime? initialTimeStamp, DateTime? finalTimeStamp) => GetTargetDbEnum switch { - TargetDbEnum.SqlDb => await SQLDbHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber), - TargetDbEnum.LiteDb => LiteDBHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber), - TargetDbEnum.MongoDb => MongoDBHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber), + TargetDbEnum.SqlDb => await SQLDbHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber, tag, eventId, ipAddress, initialTimeStamp, finalTimeStamp), + TargetDbEnum.LiteDb => LiteDBHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber, tag, eventId, ipAddress, initialTimeStamp, finalTimeStamp), + TargetDbEnum.MongoDb => MongoDBHelper.GetAllWatchLogs(searchString, verbString, statusCode, pageNumber, tag, eventId, ipAddress, initialTimeStamp, finalTimeStamp), _ => throw new NotImplementedException() }; @@ -68,12 +69,13 @@ public static async Task InsertWatchLog(WatchLog log) } // WATCH EXCEPTION OPERATIONS - public static async Task> GetAllWatchExceptionLogs(string searchString, int pageNumber) => + public static async Task> GetAllWatchExceptionLogs(string searchString, int pageNumber, bool negateTypeOf, + string typeOf, string tag, string eventId, string ipAddress, DateTime? initialEncounteredAt, DateTime? finalEncounteredAt) => GetTargetDbEnum switch { - TargetDbEnum.SqlDb => await SQLDbHelper.GetAllWatchExceptionLogs(searchString, pageNumber), - TargetDbEnum.LiteDb => LiteDBHelper.GetAllWatchExceptionLogs(searchString, pageNumber), - TargetDbEnum.MongoDb => MongoDBHelper.GetAllWatchExceptionLogs(searchString, pageNumber), + TargetDbEnum.SqlDb => await SQLDbHelper.GetAllWatchExceptionLogs(searchString, pageNumber, negateTypeOf, typeOf, tag, eventId, ipAddress, initialEncounteredAt, finalEncounteredAt), + TargetDbEnum.LiteDb => LiteDBHelper.GetAllWatchExceptionLogs(searchString, pageNumber, negateTypeOf, typeOf, tag, eventId, ipAddress, initialEncounteredAt, finalEncounteredAt), + TargetDbEnum.MongoDb => MongoDBHelper.GetAllWatchExceptionLogs(searchString, pageNumber, negateTypeOf, typeOf, tag, eventId, ipAddress, initialEncounteredAt, finalEncounteredAt), _ => throw new NotImplementedException() }; @@ -94,12 +96,12 @@ public static async Task InsertWatchExceptionLog(WatchExceptionLog log) } // LOG OPERATIONS - public static async Task> GetAllLogs(string searchString, string logLevelString, int pageNumber) => + public static async Task> GetAllLogs(string searchString, string logLevelString, int pageNumber, string tag, DateTime? initialEncounteredAt, DateTime? finalEncounteredAt) => GetTargetDbEnum switch { - TargetDbEnum.SqlDb => await SQLDbHelper.GetAllLogs(searchString, logLevelString, pageNumber), - TargetDbEnum.LiteDb => LiteDBHelper.GetAllLogs(searchString, logLevelString, pageNumber), - TargetDbEnum.MongoDb => MongoDBHelper.GetAllLogs(searchString, logLevelString, pageNumber), + TargetDbEnum.SqlDb => await SQLDbHelper.GetAllLogs(searchString, logLevelString, pageNumber, tag, initialEncounteredAt, finalEncounteredAt), + TargetDbEnum.LiteDb => LiteDBHelper.GetAllLogs(searchString, logLevelString, pageNumber, tag, initialEncounteredAt, finalEncounteredAt), + TargetDbEnum.MongoDb => MongoDBHelper.GetAllLogs(searchString, logLevelString, pageNumber, tag, initialEncounteredAt, finalEncounteredAt), _ => throw new NotImplementedException() }; diff --git a/WatchDog/src/Models/RequestModel.cs b/WatchDog/src/Models/RequestModel.cs index 6550f72..4e262cc 100644 --- a/WatchDog/src/Models/RequestModel.cs +++ b/WatchDog/src/Models/RequestModel.cs @@ -12,5 +12,7 @@ public class RequestModel public string? Host { get; set; } public string? IpAddress { get; set; } public DateTime StartTime { get; set; } + public string? Tag { get; set; } + public string? EventId { get; set; } } } diff --git a/WatchDog/src/Models/WatchDogConfigModel.cs b/WatchDog/src/Models/WatchDogConfigModel.cs index d0f7d2e..0165156 100644 --- a/WatchDog/src/Models/WatchDogConfigModel.cs +++ b/WatchDog/src/Models/WatchDogConfigModel.cs @@ -7,6 +7,8 @@ public static class WatchDogConfigModel public static string UserName { get; set; } public static string Password { get; set; } public static string[] Blacklist { get; set; } + public static string Tag { get; set; } = string.Empty; // Allows you to tag your microservices with a specific value. + public static string HeaderNameEventId { get; set; } = string.Empty; // Allows you to correlate logging events across different services that are part of the same transaction. } public class WatchDogSettings @@ -15,6 +17,7 @@ public class WatchDogSettings public WatchDogAutoClearScheduleEnum ClearTimeSchedule { get; set; } = WatchDogAutoClearScheduleEnum.Weekly; public string SetExternalDbConnString { get; set; } = string.Empty; public WatchDogDbDriverEnum DbDriverOption { get; set; } + public string MongoDbName { get; set; } = string.Empty; } public static class WatchDogExternalDbConfig diff --git a/WatchDog/src/Models/WatchDogOptionsModel.cs b/WatchDog/src/Models/WatchDogOptionsModel.cs index 50c7f3c..3a27bc0 100644 --- a/WatchDog/src/Models/WatchDogOptionsModel.cs +++ b/WatchDog/src/Models/WatchDogOptionsModel.cs @@ -9,5 +9,7 @@ public class WatchDogOptionsModel public string Blacklist { get; set; } public string CorsPolicy { get; set; } = string.Empty; public WatchDogSerializerEnum Serializer { get; set; } = WatchDogSerializerEnum.Default; + public string Tag { get; set; } = string.Empty; // Allows you to tag your microservices with a specific value. + public string HeaderNameEventId { get; set; } = string.Empty; // Allows you to correlate logging events across different services that are part of the same transaction. } } diff --git a/WatchDog/src/Models/WatchExceptionLog.cs b/WatchDog/src/Models/WatchExceptionLog.cs index f642ce2..4db5ed2 100644 --- a/WatchDog/src/Models/WatchExceptionLog.cs +++ b/WatchDog/src/Models/WatchExceptionLog.cs @@ -14,5 +14,10 @@ public class WatchExceptionLog public string QueryString { get; set; } public string RequestBody { get; set; } public DateTime EncounteredAt { get; set; } + public string Host { get; set; } = string.Empty; + public string IpAddress { get; set; } = string.Empty; + public string TimeSpent { get; set; } + public string Tag { get; set; } = string.Empty; + public string EventId { get; set; } = string.Empty; } } diff --git a/WatchDog/src/Models/WatchLog.cs b/WatchDog/src/Models/WatchLog.cs index e6e6739..9dcc69f 100644 --- a/WatchDog/src/Models/WatchLog.cs +++ b/WatchDog/src/Models/WatchLog.cs @@ -18,5 +18,7 @@ public class WatchLog public string TimeSpent { get; set; } public DateTime StartTime { get; set; } public DateTime EndTime { get; set; } + public string Tag { get; set; } = string.Empty; + public string EventId { get; set; } = string.Empty; } } diff --git a/WatchDog/src/Models/WatchLoggerModel.cs b/WatchDog/src/Models/WatchLoggerModel.cs index aed845b..95f9c98 100644 --- a/WatchDog/src/Models/WatchLoggerModel.cs +++ b/WatchDog/src/Models/WatchLoggerModel.cs @@ -12,5 +12,6 @@ public class WatchLoggerModel public string CallingMethod { get; set; } public int LineNumber { get; set; } public string LogLevel { get; set; } + public string Tag { get; set; } = string.Empty; } } diff --git a/WatchDog/src/Utilities/Constants.cs b/WatchDog/src/Utilities/Constants.cs index ca27d2c..3418a78 100644 --- a/WatchDog/src/Utilities/Constants.cs +++ b/WatchDog/src/Utilities/Constants.cs @@ -6,6 +6,6 @@ internal static class Constants public const string WatchLogExceptionTableName = "WatchDog_WatchExceptionLog"; public const string WatchDogMongoCounterTableName = "WatchDog_Counter"; public const string LogsTableName = "WatchDog_Logs"; - public const int PageSize = 20; + public const int PageSize = 100; } } diff --git a/WatchDog/src/WatchDog.cs b/WatchDog/src/WatchDog.cs index 05c0252..07b60eb 100644 --- a/WatchDog/src/WatchDog.cs +++ b/WatchDog/src/WatchDog.cs @@ -32,11 +32,17 @@ public WatchDog(WatchDogOptionsModel options, RequestDelegate next, IBroadcastHe WatchDogConfigModel.UserName = _options.WatchPageUsername; WatchDogConfigModel.Password = _options.WatchPagePassword; WatchDogConfigModel.Blacklist = String.IsNullOrEmpty(_options.Blacklist) ? new string[] { } : _options.Blacklist.Replace(" ", string.Empty).Split(','); + WatchDogConfigModel.Tag = _options.Tag; // Allows you to tag your microservices with a specific value. + WatchDogConfigModel.HeaderNameEventId = _options.HeaderNameEventId; // Allows you to correlate logging events across different services that are part of the same transaction. } public async Task InvokeAsync(HttpContext context) { - var requestPath = context.Request.Path.ToString().Remove(0,1); + // bug fix for the leading slash + var requestPath = context.Request.Path.ToString(); + if (!string.IsNullOrEmpty(requestPath) && requestPath.Length > 1) + requestPath = requestPath.Remove(0, 1); + if (!requestPath.Contains("WTCHDwatchpage") && !requestPath.Contains("watchdog") && !requestPath.Contains("WTCHDGstatics") && @@ -53,7 +59,7 @@ public async Task InvokeAsync(HttpContext context) var watchLog = new WatchLog { - IpAddress = context.Connection.RemoteIpAddress.ToString(), + IpAddress = requestLog.IpAddress, ResponseStatus = responseLog.ResponseStatus, QueryString = requestLog.QueryString, Method = requestLog.Method, @@ -65,7 +71,9 @@ public async Task InvokeAsync(HttpContext context) RequestHeaders = requestLog.Headers, ResponseHeaders = responseLog.Headers, StartTime = requestLog.StartTime, - EndTime = responseLog.FinishTime + EndTime = responseLog.FinishTime, + Tag = requestLog.Tag, + EventId = requestLog.EventId }; await DynamicDBManager.InsertWatchLog(watchLog); @@ -80,18 +88,35 @@ public async Task InvokeAsync(HttpContext context) private async Task LogRequest(HttpContext context) { var startTime = DateTime.Now; + var eventId = string.Empty; + + // Allows you to correlate logging events across different services that are part of the same transaction. + if(!string.IsNullOrEmpty(WatchDogConfigModel.HeaderNameEventId)) + { + if (context.Request.Headers.ContainsKey(WatchDogConfigModel.HeaderNameEventId)) + { + eventId = context.Request.Headers[WatchDogConfigModel.HeaderNameEventId]; + } + else + { + eventId = Guid.NewGuid().ToString(); + context.Request.Headers.Add(WatchDogConfigModel.HeaderNameEventId, eventId); + } + } var requestBodyDto = new RequestModel() { RequestBody = string.Empty, Host = context.Request.Host.ToString(), + IpAddress = context.Connection.RemoteIpAddress.ToString(), Path = context.Request.Path.ToString(), Method = context.Request.Method.ToString(), QueryString = context.Request.QueryString.ToString(), StartTime = startTime, Headers = context.Request.Headers.Select(x => x.ToString()).Aggregate((a, b) => a + ": " + b), - }; - + Tag = WatchDogConfigModel.Tag, + EventId = eventId + }; if (context.Request.ContentLength > 1) { diff --git a/WatchDog/src/WatchDogExceptionLogger.cs b/WatchDog/src/WatchDogExceptionLogger.cs index 6e4a92c..6880c2b 100644 --- a/WatchDog/src/WatchDogExceptionLogger.cs +++ b/WatchDog/src/WatchDogExceptionLogger.cs @@ -5,6 +5,9 @@ using WatchDog.src.Interfaces; using WatchDog.src.Managers; using WatchDog.src.Models; +using WatchDog.src.Helpers; +using System.Linq; +using Microsoft.IO; namespace WatchDog.src { @@ -12,10 +15,13 @@ internal class WatchDogExceptionLogger { private readonly RequestDelegate _next; private readonly IBroadcastHelper _broadcastHelper; + private readonly RecyclableMemoryStreamManager _recyclableMemoryStreamManager; + public static RequestModel RequestLog; public WatchDogExceptionLogger(RequestDelegate next, IBroadcastHelper broadcastHelper) { _next = next; _broadcastHelper = broadcastHelper; + _recyclableMemoryStreamManager = new RecyclableMemoryStreamManager(); } public async Task InvokeAsync(HttpContext context) @@ -26,7 +32,10 @@ public async Task InvokeAsync(HttpContext context) } catch (Exception ex) { - await LogException(ex, WatchDog.RequestLog); + // Exceptions can be generated without having registered a RequestLog + RequestModel requestLog = WatchDog.RequestLog; + requestLog ??= await LogRequest(context); + await LogException(ex, requestLog); throw; } } @@ -43,10 +52,62 @@ public async Task LogException(Exception ex, RequestModel requestModel) watchExceptionLog.Method = requestModel?.Method; watchExceptionLog.QueryString = requestModel?.QueryString; watchExceptionLog.RequestBody = requestModel?.RequestBody; + watchExceptionLog.Host = requestModel?.Host; + watchExceptionLog.IpAddress = requestModel?.IpAddress; + var timeSpent= watchExceptionLog.EncounteredAt.Subtract(requestModel.StartTime); // This information is important for timeout type exceptions. + watchExceptionLog.TimeSpent = string.Format("{0:D1} hrs {1:D1} mins {2:D1} secs {3:D1} ms", timeSpent.Hours, timeSpent.Minutes, timeSpent.Seconds, timeSpent.Milliseconds); + watchExceptionLog.Tag = requestModel?.Tag; + watchExceptionLog.EventId = requestModel?.EventId; //Insert await DynamicDBManager.InsertWatchExceptionLog(watchExceptionLog); await _broadcastHelper.BroadcastExLog(watchExceptionLog); - } + } + + // This method is duplicated so as not to break encapsulation + private async Task LogRequest(HttpContext context) + { + var startTime = DateTime.Now; + var eventId = string.Empty; + + // Allows you to correlate logging events across different services that are part of the same transaction. + if(!string.IsNullOrEmpty(WatchDogConfigModel.HeaderNameEventId)) + { + if (context.Request.Headers.ContainsKey(WatchDogConfigModel.HeaderNameEventId)) + { + eventId = context.Request.Headers[WatchDogConfigModel.HeaderNameEventId]; + } + else + { + eventId = Guid.NewGuid().ToString(); + context.Request.Headers.Add(WatchDogConfigModel.HeaderNameEventId, eventId); + } + } + + var requestBodyDto = new RequestModel() + { + RequestBody = string.Empty, + Host = context.Request.Host.ToString(), + IpAddress = context.Connection.RemoteIpAddress.ToString(), + Path = context.Request.Path.ToString(), + Method = context.Request.Method.ToString(), + QueryString = context.Request.QueryString.ToString(), + StartTime = startTime, + Headers = context.Request.Headers.Select(x => x.ToString()).Aggregate((a, b) => a + ": " + b), + Tag = WatchDogConfigModel.Tag, + EventId = eventId + }; + + if (context.Request.ContentLength > 1) + { + context.Request.EnableBuffering(); + await using var requestStream = _recyclableMemoryStreamManager.GetStream(); + await context.Request.Body.CopyToAsync(requestStream); + requestBodyDto.RequestBody = GeneralHelper.ReadStreamInChunks(requestStream); + context.Request.Body.Position = 0; + } + RequestLog = requestBodyDto; + return requestBodyDto; + } } } diff --git a/WatchDog/src/WatchLogger.cs b/WatchDog/src/WatchLogger.cs index 4e133b4..4193fac 100644 --- a/WatchDog/src/WatchLogger.cs +++ b/WatchDog/src/WatchLogger.cs @@ -86,7 +86,8 @@ public static async void Log(string message, [Optional] string eventId, [CallerM CallingFrom = Path.GetFileName(filePath), CallingMethod = callerName, LineNumber = lineNumber, - LogLevel = level + LogLevel = level, + Tag = WatchDogConfigModel.Tag }; //Insert diff --git a/WatchDog/src/WatchPage/index.html b/WatchDog/src/WatchPage/index.html index e53b8ce..73caa73 100644 --- a/WatchDog/src/WatchPage/index.html +++ b/WatchDog/src/WatchPage/index.html @@ -164,7 +164,7 @@

InCode Logs
- + +
+ + + +
+
Realtime Connection:
+ +
+ + +
+
+ + + +
+
+ @@ -232,25 +255,52 @@
InCode Logs
-
+ +
+ + + - Back to Full List -
+ Back to Full List +
+ + + +
+ +
+ + + +
-
Realtime Connection:
+ +
+ + +
+ +
+ + + +
+
Tag Method Path Status Code
+ + @@ -272,10 +322,10 @@
InCode Logs
-
+
-
+
+ +
+ + + +
+
Realtime Connection:
+ +
+ + +
+ +
+ + + +
+
Tag Source Message TypeOfTime Spent Encountered At
+ @@ -337,6 +407,7 @@
InCode Logs

WatchLog

+

Event Id:

Host:

Path:

Query:

@@ -403,6 +474,9 @@
Headers

WatchLog Exceptions

+

Event Id:

+

Host:

+

Ip Address:

Message:

TypeOf:

Source:

@@ -542,17 +616,17 @@

Are you sure you want to clear all logs?

const firstDigitStr = String(data.log.responseStatus)[0]; var statusColor = firstDigitStr === '2' ? "text-success" : firstDigitStr === '1' || firstDigitStr === '3' ? "text-primary" : "text-danger"; const tr = $("
" + - ""); + ""); tr.on('click', populateModal.bind(null, data.log)); $('#tableBody').prepend(tr); } else if (data.type === "exLog") { const tr = $("" + - " "); + " "); tr.on('click', populateExceptionModal.bind(null, data.log)); $('#tableBodyEx').prepend(tr); } else if (data.type === "log") { const tr = $("" + - " "); + " "); tr.on('click', populateInCodeModal.bind(null, data.log)); $('#tableBodyInCode').prepend(tr); } @@ -577,7 +651,8 @@

Are you sure you want to clear all logs?

$("#myVerbDropDown").change(function (event) { $('#tableBody').empty(); if ($("#myVerbDropDown")[0].selectedIndex === 0) { - getLogs($('#searchString').val(), "", $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val()) + getLogs($('#searchString').val(), "", $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val(), + $('#searchTag').val(), $('#searchEventId').val(), $('#searchIpAddress').val(), $('#searchInitialTimeStamp').val(), $('#searchFinalTimeStamp').val()) } else { filterVerb($(this).val()); } @@ -586,7 +661,8 @@

Are you sure you want to clear all logs?

$("#myStatusCodeDropDown").change(function (event) { $('#tableBody').empty(); if ($("#myStatusCodeDropDown")[0].selectedIndex === 0) { - getLogs($('#searchString').val(), $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), "") + getLogs($('#searchString').val(), $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), "", + $('#searchTag').val(), $('#searchEventId').val(), $('#searchIpAddress').val(), $('#searchInitialTimeStamp').val(), $('#searchFinalTimeStamp').val()) } else { filterStatusCode($(this).val()); } @@ -600,26 +676,34 @@

Are you sure you want to clear all logs?

} }); - function getLogs(searchString = "", verb = "", statusCode = "") { + function getLogs(searchString = "", verb = "", statusCode = "", tag = "", eventId = "", ipAddress = "", initialTimeStamp = "", finalTimeStamp = "") { $('#rqLoader').show(); $.ajax({ type: "GET", - url: "./WTCHDwatchpage?pageNumber=" + pageIndex + "&searchString=" + searchString + "&verbString=" + verb + "&statusCode=" + statusCode, + url: "./WTCHDwatchpage?pageNumber=" + pageIndex + "&searchString=" + searchString + "&verbString=" + verb + "&statusCode=" + statusCode + "&tag=" + tag + "&eventId=" + eventId + + "&ipAddress=" + ipAddress + "&initialTimeStamp=" + initialTimeStamp + "&finalTimeStamp=" + finalTimeStamp, context: document.body, success: function (data) { var totalPages = data.totalPages === 0 ? 1 : data.totalPages + $('#pageMap0').val(data.pageIndex); + $('#totalPages0').text(" of " + totalPages); $('#pageMap').text("Page " + data.pageIndex + " of " + totalPages); + if (data.hasNext === false) { + $('#next0').hide(); $('#next').hide(); } else { + $('#next0').show(); $('#next').show(); } if (data.hasPrevious === false) { + $('#prev0').hide(); $('#prev').hide(); } else { + $('#prev0').show(); $('#prev').show(); } @@ -629,7 +713,7 @@

Are you sure you want to clear all logs?

const firstDigitStr = String(data.logs[i].responseStatus)[0]; var statusColor = firstDigitStr === '2' ? "text-success" : firstDigitStr === '1' || firstDigitStr === '3' ? "text-primary" : "text-danger"; const tr = $("" + - " "); + " "); tr.on('click', populateModal.bind(null, data.logs[i])); $('#tableBody').append(tr); } @@ -643,35 +727,43 @@

Are you sure you want to clear all logs?

}); } - function getExceptionLogs(searchString = "") { + function getExceptionLogs(searchString = "", negateTypeOf = false, typeOf = "", tag = "", eventId = "", ipAddress = "", initialEncounteredAt = "", finalEncounteredAt = "") { $('#exLoader').show(); $.ajax({ type: "GET", - url: "./WTCHDwatchpage/Exceptions?pageNumber=" + exPageIndex + "&searchString=" + searchString, + url: "./WTCHDwatchpage/Exceptions?pageNumber=" + exPageIndex + "&searchString=" + searchString + "&negateTypeOf=" + negateTypeOf + "&typeOf=" + typeOf + "&tag=" + tag + + "&eventId=" + eventId + "&ipAddress=" + ipAddress + "&initialEncounteredAt=" + initialEncounteredAt + "&finalEncounteredAt=" + finalEncounteredAt, context: document.body, success: function (data) { - var totalPages = data.totalPages === 0 ? 1 : data.totalPages + var totalPages = data.totalPages === 0 ? 1 : data.totalPages + $('#exPageMap0').val(data.pageIndex); + $('#exTotalPages0').text(" of " + totalPages); $('#exPageMap').text("Page " + data.pageIndex + " of " + totalPages); + if (data.hasNext === false) { + $('#exNext0').hide(); $('#exNext').hide(); } else { + $('#exNext0').show(); $('#exNext').show(); } if (data.hasPrevious === false) { + $('#exPrev0').hide(); $('#exPrev').hide(); } else { + $('#exPrev0').show(); $('#exPrev').show(); } $('#exLoader').hide(); - + for (var i = 0; i < data.logs.length; i++) { const tr = $("" + - " "); + " "); tr.on('click', populateExceptionModal.bind(null, data.logs[i])); $('#tableBodyEx').append(tr); } @@ -684,27 +776,34 @@

Are you sure you want to clear all logs?

} }); } - function getInCodeLogs(searchString = "", logLevelString = "") { + function getInCodeLogs(searchString = "", logLevelString = "", tag = "", initialEncounteredAt = "", finalEncounteredAt = "") { $('#incodeLoader').show(); $.ajax({ type: "GET", - url: "./WTCHDwatchpage/Logs?pageNumber=" + inCodePageIndex + "&searchString=" + searchString + "&logLevelString=" + logLevelString, + url: "./WTCHDwatchpage/Logs?pageNumber=" + inCodePageIndex + "&searchString=" + searchString + "&logLevelString=" + logLevelString + "&tag=" + tag + "&initialEncounteredAt=" + initialEncounteredAt + "&finalEncounteredAt=" + finalEncounteredAt, context: document.body, success: function (data) { var totalPages = data.totalPages === 0 ? 1 : data.totalPages + $('#inCodePageMap0').val(data.pageIndex); + $('#inCodeTotalPages0').text(" of " + totalPages); $('#inCodePageMap').text("Page " + data.pageIndex + " of " + totalPages); + if (data.hasNext === false) { + $('#inCodeNext0').hide(); $('#inCodeNext').hide(); } else { + $('#inCodeNext0').show(); $('#inCodeNext').show(); } if (data.hasPrevious === false) { + $('#inCodePrev0').hide(); $('#inCodePrev').hide(); } else { + $('#inCodePrev0').show(); $('#inCodePrev').show(); } @@ -712,7 +811,7 @@

Are you sure you want to clear all logs?

for (var i = 0; i < data.logs.length; i++) { const tr = $("" + - " "); + " "); tr.on('click', populateInCodeModal.bind(null, data.logs[i])); $('#tableBodyInCode').append(tr); } @@ -746,27 +845,29 @@

Are you sure you want to clear all logs?

pageIndex = 1; $('#tableBody').empty(); var ss = $('#searchString').val(); - getLogs(ss, $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val()); + getLogs(ss, $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val(), + $('#searchTag').val(), $('#searchEventId').val(), $('#searchIpAddress').val(), $('#searchInitialTimeStamp').val(), $('#searchFinalTimeStamp').val()); } function exSearch() { $('#tableBodyEx').empty(); exPageIndex = 1; var ss = $('#exSearchString').val(); - getExceptionLogs(ss, $('#myLogLevelDropDown').val() == "ALL" ? "" : $('#myLogLevelDropDown').val()); + getExceptionLogs(ss, $('#exNegateTypeOf').prop('checked'), $('#exSearchTypeOf').val(), $('#exSearchTag').val(), $('#exSearchEventId').val(), $('#exSearchIpAddress').val(), $('#exInitialEncounteredAt').val(), $('#exFinalEncounteredAt').val()); } function inCodeSearch() { $('#tableBodyInCode').empty(); inCodePageIndex = 1; var ss = $('#inCodeSearchString').val(); - getInCodeLogs(ss); + getInCodeLogs(ss, $('#myLogLevelDropDown').val() == "ALL" ? "" : $('#myLogLevelDropDown').val(), $('#inCodeSearchTag').val(), $('#inCodeInitialEncounteredAt').val(), $('#inCodeFinalEncounteredAt').val()); } function filterVerb(verbString) { pageIndex = 1; $('#tableBody').empty(); - getLogs($('#searchString').val(), verbString, $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val()); + getLogs($('#searchString').val(), verbString, $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val(), + $('#searchTag').val(), $('#searchEventId').val(), $('#searchIpAddress').val(), $('#searchInitialTimeStamp').val(), $('#searchFinalTimeStamp').val()); } function filterStatusCode(statusCodeString) { @@ -778,46 +879,67 @@

Are you sure you want to clear all logs?

function filterLogLevel(logLevelString) { inCodePageIndex = 1; $('#tableBodyInCode').empty(); - getInCodeLogs($('#searchString').val(), logLevelString); + getInCodeLogs($('#inCodeSearchString').val(), logLevelString, $('#inCodeSearchTag').val(), $('#inCodeInitialEncounteredAt').val(), $('#inCodeFinalEncounteredAt').val()); } function nextPage() { ++pageIndex; $('#tableBody').empty(); - getLogs($('#searchString').val(), $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val()); + getLogs($('#searchString').val(), $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val(), + $('#searchTag').val(), $('#searchEventId').val(), $('#searchIpAddress').val(), $('#searchInitialTimeStamp').val(), $('#searchFinalTimeStamp').val()); } function prevPage() { if (pageIndex > 1) --pageIndex; $('#tableBody').empty(); - getLogs($('#searchString').val(), $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val()); + getLogs($('#searchString').val(), $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val(), + $('#searchTag').val(), $('#searchEventId').val(), $('#searchIpAddress').val(), $('#searchInitialTimeStamp').val(), $('#searchFinalTimeStamp').val()); + } + + function goToPage(pageNumber) { + pageIndex = pageNumber; + $('#tableBody').empty(); + getLogs($('#searchString').val(), $('#myVerbDropDown').val() == "ALL" ? "" : $('#myVerbDropDown').val(), $('#myStatusCodeDropDown').val() == "ALL" ? "" : $('#myStatusCodeDropDown').val(), + $('#searchTag').val(), $('#searchEventId').val(), $('#searchIpAddress').val(), $('#searchInitialTimeStamp').val(), $('#searchFinalTimeStamp').val()); } function exNextPage(e) { ++exPageIndex; $('#tableBodyEx').empty(); - getExceptionLogs($('#searchString').val()); + getExceptionLogs($('#exSearchString').val(), $('#exNegateTypeOf').prop('checked'), $('#exSearchTypeOf').val(), $('#exSearchTag').val(), $('#exSearchEventId').val(), $('#exSearchIpAddress').val(), $('#exInitialEncounteredAt').val(), $('#exFinalEncounteredAt').val()); } function exPrevPage(e) { if (exPageIndex > 1) --exPageIndex; $('#tableBodyEx').empty(); - getExceptionLogs($('#searchString').val()); + getExceptionLogs($('#exSearchString').val(), $('#exNegateTypeOf').prop('checked'), $('#exSearchTypeOf').val(), $('#exSearchTag').val(), $('#exSearchEventId').val(), $('#exSearchIpAddress').val(), $('#exInitialEncounteredAt').val(), $('#exFinalEncounteredAt').val()); + } + + function exGoToPage(pageNumber) { + exPageIndex = pageNumber; + $('#tableBodyEx').empty(); + getExceptionLogs($('#exSearchString').val(), $('#exNegateTypeOf').prop('checked'), $('#exSearchTypeOf').val(), $('#exSearchTag').val(), $('#exSearchEventId').val(), $('#exSearchIpAddress').val(), $('#exInitialEncounteredAt').val(), $('#exFinalEncounteredAt').val()); } function inCodeNextPage(e) { ++inCodePageIndex; $('#tableBodyInCode').empty(); - getInCodeLogs($('#searchString').val()); + getInCodeLogs($('#inCodeSearchString').val(), $('#myLogLevelDropDown').val() == "ALL" ? "" : $('#myLogLevelDropDown').val(), $('#inCodeSearchTag').val(), $('#inCodeInitialEncounteredAt').val(), $('#inCodeFinalEncounteredAt').val()); } function inCodePrevPage(e) { if (inCodePageIndex > 1) --inCodePageIndex; $('#tableBodyInCode').empty(); - getInCodeLogs($('#searchString').val()); + getInCodeLogs($('#inCodeSearchString').val(), $('#myLogLevelDropDown').val() == "ALL" ? "" : $('#myLogLevelDropDown').val(), $('#inCodeSearchTag').val(), $('#inCodeInitialEncounteredAt').val(), $('#inCodeFinalEncounteredAt').val()); + } + + function inCodeGoToPage(pageNumber) { + inCodePageIndex = pageNumber; + $('#tableBodyInCode').empty(); + getInCodeLogs($('#inCodeSearchString').val(), $('#myLogLevelDropDown').val() == "ALL" ? "" : $('#myLogLevelDropDown').val(), $('#inCodeSearchTag').val(), $('#inCodeInitialEncounteredAt').val(), $('#inCodeFinalEncounteredAt').val()); } function backToList(e) { @@ -837,6 +959,21 @@

Are you sure you want to clear all logs?

$('#myVerbDropDown').val("ALL"); $('#myStatusCodeDropDown').val("ALL"); $('#myLogLevelDropDown').val("ALL"); + $('#searchTag').val(""); + $('#searchEventId').val(""); + $('#searchIpAddress').val(""); + $('#searchInitialTimeStamp').val(""); + $('#searchFinalTimeStamp').val(""); + $('#exSearchNegateTypeOf').val(""); + $('#exSearchTypeOf').val(""); + $('#exSearchTag').val(""); + $('#exSearchEventId').val(""); + $('#exSearchIpAddress').val(""); + $('#exInitialEncounteredAt').val(""); + $('#exFinalEncounteredAt').val(""); + $('#inCodeSearchTag').val(""); + $('#inCodeInitialEncounteredAt').val(""); + $('#inCodeFinalEncounteredAt').val(""); e = e || window.event; e.preventDefault(); @@ -891,6 +1028,7 @@

Are you sure you want to clear all logs?

function populateModal(data) { + $('#eventId').text(data.eventId); $('#host').text(data.host); $('#path').text(data.path); $('#query').text(data.queryString); @@ -928,8 +1066,11 @@

Are you sure you want to clear all logs?

document.getElementById("reqBodyCopy").style.display = "none"; } } - + function populateExceptionModal(data) { + $('#exceptionEventId').text(data.eventId); + $('#exceptionHost').text(data.host); + $('#exceptionIp').text(data.ipAddress); $('#exMessage').text(data.message); $('#exTypeOf').text(data.typeOf); $('#exSource').text(data.source); diff --git a/WatchDogCompleteApiNet6/Program.cs b/WatchDogCompleteApiNet6/Program.cs index 0b82874..43efc82 100644 --- a/WatchDogCompleteApiNet6/Program.cs +++ b/WatchDogCompleteApiNet6/Program.cs @@ -8,15 +8,26 @@ // Add services to the container. builder.Services.AddControllers(); -//builder.Services.AddWatchDogServices(); +builder.Services.AddWatchDogServices(); builder.Services.AddWatchDogServices(opt => { - opt.IsAutoClear = true; - opt.ClearTimeSchedule = WatchDogAutoClearScheduleEnum.Monthly; - opt.DbDriverOption = WatchDogDbDriverEnum.PostgreSql; - opt.SetExternalDbConnString = "Server=lucky.db.elephantsql.com;Database=kfmlwanq;User Id=kfmlwanq;Password=jYpwgweV43BUr51SDcPHWdCfEmhpvQPz;"; + //opt.IsAutoClear = true; // This is a trick, it doesn't leave a history of a few days + //opt.ClearTimeSchedule = WatchDogAutoClearScheduleEnum.Hourly; + //opt.SetExternalDbConnString = "Server=lucky.db.elephantsql.com;Database=kfmlwanq;User Id=kfmlwanq;Password=jYpwgweV43BUr51SDcPHWdCfEmhpvQPz;"; //opt.SetExternalDbConnString = "Data Source=(LocalDb)\\MSSQLLocalDB;Initial Catalog=test;"; - //opt.SetExternalDbConnString = "mongodb://localhost:27017"; + + opt.DbDriverOption = WatchDogDbDriverEnum.Mongo; + opt.SetExternalDbConnString = "mongodb://172.16.3.148"; // "mongodb://localhost:27017"; + opt.MongoDbName = "watch_dev"; + + //opt.DbDriverOption = WatchDogDbDriverEnum.MSSQL; + //opt.SetExternalDbConnString = "server=localhost,1433;pwd=UsjUe5STTgQcmvB9;uid=sa;database=Watch;Application Name=SalesBackendDev;TrustServerCertificate=True;"; + + // opt.DbDriverOption = WatchDogDbDriverEnum.MSSQL; + // opt.SetExternalDbConnString = "server=172.16.3.74;pwd=7p@Py2V73$c0HBnz;uid=wdog;database=Watch;Application Name=CswSettingsWillys;TrustServerCertificate=True;"; + + // opt.DbDriverOption = WatchDogDbDriverEnum.PostgreSql; + // opt.SetExternalDbConnString = "Host=localhost;Username=sa;Password=UsjUe5STTgQcmvB9;Database=Watch;Port=5432"; }); builder.Logging.AddWatchDogLogger(); @@ -44,8 +55,10 @@ app.UseWatchDog(conf => { conf.WatchPageUsername = "admin"; - conf.WatchPagePassword = "Qwerty@123"; + conf.WatchPagePassword = "admin"; conf.Blacklist = "/auth"; + conf.Tag = "SalesBackend"; + conf.HeaderNameEventId = "EventId"; }); app.Run();
Tag Encountered At Origin Method
" + data.log.tag + "" + data.log.method + "" + truncate(data.log.path, 50) + " " + data.log.responseStatus + "" + data.log.timeSpent + "" + moment(data.log.startTime).format('LLL') + "
" + data.log.tag + "" + data.log.source + "" + truncate(data.log.message, 50) + "" + data.log.typeOf + "" + data.log.timeSpent + "" + moment(data.log.encounteredAt).format('LLL') + "
" + data.log.tag + "" + moment(data.log.timestamp).format('LLL') + "" + (data.log.callingFrom ??= '') + "\nLine:" + data.log.lineNumber + "" + (data.log.callingMethod ??= '') + "" + data.log.logLevel + "" + truncate(data.log.message, 50) + "
" + data.logs[i].tag + "" + data.logs[i].method + "" + truncate(data.logs[i].path, 50) + " " + data.logs[i].responseStatus + "" + data.logs[i].timeSpent + "" + moment(data.logs[i].startTime).format('LLL') + "
" + data.logs[i].tag + "" + data.logs[i].source + "" + truncate(data.logs[i].message, 50) + "" + data.logs[i].typeOf + "" + data.logs[i].timeSpent + "" + moment(data.logs[i].encounteredAt).format('LLL') + "
" + data.logs[i].tag + "" + moment(data.logs[i].timestamp).format('LLL') + "" + (data.logs[i].callingFrom ??= '') + "\nLine:" + data.logs[i].lineNumber + "" + (data.logs[i].callingMethod ??= '') + "" + data.logs[i].logLevel + "" + truncate(data.logs[i].message, 50) + "