diff --git a/TIAM.Core/Loggers/ConsoleLogWriter.cs b/TIAM.Core/Loggers/ConsoleLogWriter.cs new file mode 100644 index 00000000..1d5838a7 --- /dev/null +++ b/TIAM.Core/Loggers/ConsoleLogWriter.cs @@ -0,0 +1,17 @@ +using AyCode.Core.Enums; +using AyCode.Core.Loggers; + +namespace TIAM.Core.Loggers; + +public class ConsoleLogWriter : AcConsoleLogWriter +{ + public ConsoleLogWriter() : this(null) + { } + + public ConsoleLogWriter(string? categoryName = null) : base(categoryName) + { } + + public ConsoleLogWriter(AppType appType, LogLevel logLevel, string? callerClassName = null) : base(appType, logLevel, callerClassName) + { + } +} \ No newline at end of file diff --git a/TIAM.Core/Loggers/ILogger.cs b/TIAM.Core/Loggers/ILogger.cs new file mode 100644 index 00000000..79ba24d6 --- /dev/null +++ b/TIAM.Core/Loggers/ILogger.cs @@ -0,0 +1,12 @@ +using AyCode.Core.Loggers; + +namespace TIAM.Core.Loggers; + +public interface ILogger : ILogger +{ + +} +public interface ILogger : IAcLoggerBase +{ + +} \ No newline at end of file diff --git a/TIAM.Core/Loggers/Logger.cs b/TIAM.Core/Loggers/Logger.cs new file mode 100644 index 00000000..c40f3bd8 --- /dev/null +++ b/TIAM.Core/Loggers/Logger.cs @@ -0,0 +1,32 @@ +using AyCode.Core.Enums; +using AyCode.Core.Loggers; + +namespace TIAM.Core.Loggers; + +public class Logger : AcLoggerBase, ILogger +{ + public Logger() : base(typeof(TCategory).Name) + { } + + public Logger(params IAcLogWriterBase[] logWriters) : base(typeof(TCategory).Name, logWriters) + { } + + public Logger(AppType appType, LogLevel logLevel, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, typeof(TCategory).Name, logWriters) + { } +} + +public class Logger : AcLoggerBase, ILogger +{ + public Logger() : this(null) + { + } + + public Logger(string? categoryName) : base(categoryName) + { } + + public Logger(string? categoryName, params IAcLogWriterBase[] logWriters) : base(categoryName, logWriters) + { } + + public Logger(AppType appType, LogLevel logLevel, string? categoryName, params IAcLogWriterBase[] logWriters) : base(appType, logLevel, categoryName, logWriters) + { } +} \ No newline at end of file diff --git a/TIAM.Database.Test/appsettings.json b/TIAM.Database.Test/appsettings.json index 780df2ec..25727897 100644 --- a/TIAM.Database.Test/appsettings.json +++ b/TIAM.Database.Test/appsettings.json @@ -17,6 +17,23 @@ "SendGrid": { //"Key": "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" "Key": "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" - } + }, + "AyCode": { + "ProjectId": "684f34d1-163a-4077-918f-a9d9df5ce789", + "Logger": { + "AppType": "Server", + "LogLevel": "Detail", + "LogWriters": [ + { + "LogLevel": "Detail", + "LogWriterType": "TIAM.Core.Loggers.ConsoleLogWriter, TIAM.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + { + "LogLevel": "Detail", + "LogWriterType": "TIAM.Database.DbLogItemWriter, TIAM.Database, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" + } + ] + } + } } diff --git a/TIAM.Database/DataLayers/Admins/AdminDal.cs b/TIAM.Database/DataLayers/Admins/AdminDal.cs index 49a25e39..19dad27b 100644 --- a/TIAM.Database/DataLayers/Admins/AdminDal.cs +++ b/TIAM.Database/DataLayers/Admins/AdminDal.cs @@ -1,4 +1,5 @@ using AyCode.Core.Extensions; +using AyCode.Core.Server.Loggers; using AyCode.Database.DbSets.Messages; using AyCode.Database.DbSets.Users; using AyCode.Models.Enums; @@ -228,7 +229,7 @@ namespace TIAM.Database.DataLayers.Admins public bool CreateProductAsync(Product product) { Context.CreateProduct(product); - Console.WriteLine($@"Saving product to db {product.Id}, {product.Name}, {product.ServiceProviderId}"); + GlobalLogger.Info($@"Saving product to db {product.Id}, {product.Name}, {product.ServiceProviderId}"); var result = Context.SaveChangesAsync(); return result.Result > 0; } @@ -240,14 +241,14 @@ namespace TIAM.Database.DataLayers.Admins public virtual Task GetServiceProviderByIdAsync(Guid id) { - Console.WriteLine($@"Getting serviceProvider from db {id}"); + GlobalLogger.Info($@"Getting serviceProvider from db {id}"); return Context.ServiceProviders.SingleOrDefaultAsync(x => x.Id == id); } //public Task CreateUserProductMappingAsync(UserProductMapping userProductMapping) //{ // Context.UserProductMappings.Add(userProductMapping); - // Console.WriteLine($"Saving userProductMapping to db {userProductMapping.Id}, {userProductMapping.ProductId}, {userProductMapping.UserId}"); + // GlobalLogger.Info($"Saving userProductMapping to db {userProductMapping.Id}, {userProductMapping.ProductId}, {userProductMapping.UserId}"); // return Context.SaveChangesAsync().ContinueWith(x => userProductMapping); //} @@ -453,7 +454,7 @@ namespace TIAM.Database.DataLayers.Admins } foreach (var row in result) { - Console.WriteLine($@"GetPermissionsOfUserProductMappingsAndGroupsAsyncByContextId: {row.ContextId}, {row.SubjectId}, {row.SubjectType}, {row.Name}, {row.PermissionsValue}"); + GlobalLogger.Info($@"GetPermissionsOfUserProductMappingsAndGroupsAsyncByContextId: {row.ContextId}, {row.SubjectId}, {row.SubjectType}, {row.Name}, {row.PermissionsValue}"); } return Task.FromResult(result); } diff --git a/TIAM.Database/DataLayers/Auctions/AuctionDal.cs b/TIAM.Database/DataLayers/Auctions/AuctionDal.cs index 79b32eaa..944b8211 100644 --- a/TIAM.Database/DataLayers/Auctions/AuctionDal.cs +++ b/TIAM.Database/DataLayers/Auctions/AuctionDal.cs @@ -1,4 +1,5 @@ -using AyCode.Core.Logger; +using AyCode.Core.Loggers; +using AyCode.Core.Server.Loggers; using Microsoft.EntityFrameworkCore; using TIAM.Database.DbContexts.Auctions; using TIAM.Entities.Auctions; @@ -19,14 +20,14 @@ namespace TIAM.Database.DataLayers.Auctions public Task> GetBidsByEmail(string email) { - Logger.Info($"Getting bid from db {email}"); + GlobalLogger.Info($"Getting bid from db {email}"); var emailLower = email.ToLower(); return Context.AuctionBids.Where(x => x.Email.ToLower() == emailLower).ToListAsync(); } public AuctionBid? GetBidById(Guid id) { - Logger.Info($"Getting bid from db {id}"); + GlobalLogger.Info($"Getting bid from db {id}"); return Context.AuctionBids.FirstOrDefault(x => x.Id == id); } @@ -36,7 +37,7 @@ namespace TIAM.Database.DataLayers.Auctions auctionBid.Created = DateTime.UtcNow; auctionBid.Modified = DateTime.UtcNow; Context.AuctionBids.Add(auctionBid); - Logger.Info($"Saving user to db {auctionBid.Id}, {auctionBid.Email}, {auctionBid.PhoneNumber}"); + GlobalLogger.Info($"Saving user to db {auctionBid.Id}, {auctionBid.Email}, {auctionBid.PhoneNumber}"); return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0); } diff --git a/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs b/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs index 9c9a9f86..aba40548 100644 --- a/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs +++ b/TIAM.Database/DataLayers/ServiceProviders/ServiceProviderDal.cs @@ -234,7 +234,7 @@ namespace TIAM.Database.DataLayers.ServiceProviders //// } //// foreach (var row in result) //// { - //// Console.WriteLine($"GetPermissionsOfUserProductMappingsAndGroupsAsyncByContextId: {row.ContextId}, {row.SubjectId}, {row.SubjectType}, {row.Name}, {row.PermissionsValue}"); + //// GlobalLogger.Info($"GetPermissionsOfUserProductMappingsAndGroupsAsyncByContextId: {row.ContextId}, {row.SubjectId}, {row.SubjectType}, {row.Name}, {row.PermissionsValue}"); //// } //// return Task.FromResult(result); //// } @@ -340,7 +340,7 @@ namespace TIAM.Database.DataLayers.ServiceProviders //// { //// var prod = Context.UpdateProduct(product); - //// Console.WriteLine($"Saving product to db {product.Id}, {product.Name}, {product.ServiceProviderId}"); + //// GlobalLogger.Info($"Saving product to db {product.Id}, {product.Name}, {product.ServiceProviderId}"); //// Context.SaveChanges(); //// return prod; //// } diff --git a/TIAM.Database/DbLogWriter.cs b/TIAM.Database/DbLogWriter.cs new file mode 100644 index 00000000..23185e6a --- /dev/null +++ b/TIAM.Database/DbLogWriter.cs @@ -0,0 +1,25 @@ +using AyCode.Core.Enums; +using AyCode.Core.Loggers; +using AyCode.Database; +using AyCode.Database.DbContexts.Loggers; +using AyCode.Entities.LogItems; + +namespace TIAM.Database; + +public class LoggerDbContextBase : AcLoggerDbContextBase +{ + +} + +public class DbLogItemWriter : AcDbLogItemWriter +{ + public DbLogItemWriter() : this(null) + { } + + public DbLogItemWriter(string? categoryName = null) : base(categoryName) + { } + + public DbLogItemWriter(AppType appType, LogLevel logLevel, string? categoryName = null) : base(appType, logLevel, categoryName) + { + } +} \ No newline at end of file diff --git a/TIAM.Services.Server.Tests/LoginServices/LoginServiceServerTests.cs b/TIAM.Services.Server.Tests/LoginServices/LoginServiceServerTests.cs index d266beb8..f042231c 100644 --- a/TIAM.Services.Server.Tests/LoginServices/LoginServiceServerTests.cs +++ b/TIAM.Services.Server.Tests/LoginServices/LoginServiceServerTests.cs @@ -1,3 +1,4 @@ +using AyCode.Core.Server.Loggers; using AyCode.Services.Server.Tests.LoginServices; using TIAM.Database.DataLayers.Users; using TIAM.Database.DbContexts.Users; @@ -24,8 +25,12 @@ namespace TIAM.Services.Server.Tests.LoginServices [DataTestMethod] [DataRow([RegisterUserIdString, RegisterEmail, RegisterPassword])] public override Task AcBase_RegisterUser_ReturnsUser_WhenUserExist(string[] userIdEmailPasswordStrings) - => base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings); - + { + GlobalLogger.Debug("Test started0..."); + + return base.AcBase_RegisterUser_ReturnsUser_WhenUserExist(userIdEmailPasswordStrings); + } + [DataTestMethod] [DataRow([LoginEmail, LoginPassword])] public override void AcBase_LoginUser_ReturnsUser_WhenUserExist(string[] emailPasswordStrings) diff --git a/TIAM.Services.Server.Tests/appsettings.json b/TIAM.Services.Server.Tests/appsettings.json index 780df2ec..98370e9d 100644 --- a/TIAM.Services.Server.Tests/appsettings.json +++ b/TIAM.Services.Server.Tests/appsettings.json @@ -1,6 +1,7 @@ { "ConnectionStrings": { - "DeveloperDbConnection": "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true" + "DeveloperDbConnection": + "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true" }, "Logging": { "LogLevel": { @@ -17,6 +18,23 @@ "SendGrid": { //"Key": "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" "Key": "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" - } + }, + "AyCode": { + "ProjectId": "684f34d1-163a-4077-918f-a9d9df5ce789", + "Logger": { + "AppType": "Server", + "LogLevel": "Detail", + "LogWriters": [ + { + "LogLevel": "Detail", + "LogWriterType": "TIAM.Core.Loggers.ConsoleLogWriter, TIAM.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + { + "LogLevel": "Detail", + "LogWriterType": "TIAM.Database.DbLogItemWriter, TIAM.Database, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" + } + ] + } + } } diff --git a/TIAM.Services.Server/MessageSenderService.cs b/TIAM.Services.Server/MessageSenderService.cs index 636c36b8..5b495a75 100644 --- a/TIAM.Services.Server/MessageSenderService.cs +++ b/TIAM.Services.Server/MessageSenderService.cs @@ -1,4 +1,6 @@ using System.Net; +using AyCode.Core.Helpers; +using AyCode.Core.Loggers; using AyCode.Models.Enums; using Microsoft.Extensions.Configuration; using SendGrid; @@ -19,6 +21,8 @@ namespace TIAM.Services.Server Console.WriteLine($@"EmailMessage!!!"); // Access DerivedClass properties //var subject = emailMessage.Subject; + + //adminDal.AddEmailMessageAsync(message).Forget(); result = (await SendMailWithSendgrid(message)).ToString(); //?? HttpStatusCode.BadRequest.ToString(); break; case (int)MessageTypesEnum.sms: diff --git a/TIAMMobileApp/MauiProgram.cs b/TIAMMobileApp/MauiProgram.cs index 9ee141c3..c442c2f9 100644 --- a/TIAMMobileApp/MauiProgram.cs +++ b/TIAMMobileApp/MauiProgram.cs @@ -7,6 +7,7 @@ using AyCode.Interfaces.StorageHandlers; using TIAMWebApp.Shared.Application.Utility; using TIAMWebApp.Shared.Application.Services; using BlazorAnimation; +using AyCode.Core.Loggers; namespace TIAMMobileApp { @@ -46,7 +47,7 @@ namespace TIAMMobileApp builder.Services.AddScoped(); builder.Services.AddScoped(); - builder.Services.AddScoped(); + builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); diff --git a/TIAMSharedUI/Pages/AppLaunchComponent.razor b/TIAMSharedUI/Pages/AppLaunchComponent.razor index 68ba4ded..ccb7aa7a 100644 --- a/TIAMSharedUI/Pages/AppLaunchComponent.razor +++ b/TIAMSharedUI/Pages/AppLaunchComponent.razor @@ -7,9 +7,12 @@ @using TIAMWebApp.Shared.Application.Models.ClientSide @using AyCode.Interfaces.StorageHandlers; @using System.Globalization; +@using AyCode.Core.Enums +@using AyCode.Core.Loggers +@using TIAM.Core.Loggers @inject NavigationManager NavManager @inject IJSRuntime JSRuntime -@inject LogToBrowserConsole logToBrowserConsole +@inject IEnumerable LogWriters @inject IUserDataService UserDataService @inject ISecureStorageHandler SecureStorageHandler @inject ISessionService sessionService; @@ -31,16 +34,17 @@ @code { - - [Parameter] public string TrackingId { get; set; } string userDetailsStr; string locale; + ILogger _logger; - protected async override Task OnInitializedAsync() + protected override async Task OnInitializedAsync() { + _logger = new LoggerClient(LogWriters.ToArray()); + var (_userDetailStr, _locale) = await GetLocalSettings(); userDetailsStr = _userDetailStr; @@ -49,20 +53,20 @@ { locale = _locale; Culture = new CultureInfo(locale); - logToBrowserConsole.LogToBC("Locale from settings: " + locale); + _logger.Info("Locale from settings: " + locale); } else { - logToBrowserConsole.LogToBC("Default locale:" + Culture.Name); + _logger.Info("Default locale:" + Culture.Name); } - logToBrowserConsole = new LogToBrowserConsole(JSRuntime); + //_logger = new _logger(JSRuntime); //wait for 5 seconds //await Task.Delay(1000); if (!string.IsNullOrWhiteSpace(userDetailsStr)) { - logToBrowserConsole.LogToBC(userDetailsStr); + _logger.Info(userDetailsStr); var userBasicDetail = JsonConvert.DeserializeObject(userDetailsStr); var handler = new JwtSecurityTokenHandler(); @@ -73,16 +77,16 @@ if (jsontoken?.ValidTo < DateTime.UtcNow) { - logToBrowserConsole.LogToBC("Token needs to be refreshed"); + _logger.Info("Token needs to be refreshed"); bool isTokenRefreshed = await UserDataService.RefreshToken(); if (isTokenRefreshed) { - logToBrowserConsole.LogToBC("Token refreshed"); + _logger.Info("Token refreshed"); } else { - logToBrowserConsole.LogToBC("Couldn't refresh token"); + _logger.Info("Couldn't refresh token"); SignOut(); //NavManager.NavigateTo("/"); return; @@ -91,7 +95,7 @@ } else { - logToBrowserConsole.LogToBC("Valid token found"); + _logger.Info("Valid token found"); } @@ -99,13 +103,13 @@ string _email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value; var user = await UserDataService.IsLoggedInAsync(Guid.Parse(_userId)); sessionService.User = user; - logToBrowserConsole.LogToBC($"Saved user in db is: {user.DisplayName}, setting autenthicated state"); + _logger.Info($"Saved user in db is: {user.DisplayName}, setting autenthicated state"); sessionService.IsAuthenticated = true; //NavManager.NavigateTo("/"); } else { - logToBrowserConsole.LogToBC("No token stored yet"); + _logger.Info("No token stored yet"); NavManager.NavigateTo("/"); } ComponentUpdateService.CallRequestRefresh(); diff --git a/TIAMSharedUI/Pages/Components/InputWizard.razor.cs b/TIAMSharedUI/Pages/Components/InputWizard.razor.cs index 096b12f3..de54dfda 100644 --- a/TIAMSharedUI/Pages/Components/InputWizard.razor.cs +++ b/TIAMSharedUI/Pages/Components/InputWizard.razor.cs @@ -18,6 +18,7 @@ using TIAMSharedUI.Shared; using DevExpress.Pdf.Native.BouncyCastle.Asn1.Cms; using System.Text.RegularExpressions; using AyCode.Core.Consts; +using AyCode.Core.Loggers; namespace TIAMSharedUI.Pages.Components @@ -25,7 +26,7 @@ namespace TIAMSharedUI.Pages.Components public partial class InputWizard : ComponentBase { [Inject] - public required LogToBrowserConsole LogToBrowserConsole { get; set; } + public required IAcLogWriterBase BrowserConsoleLogWriter { get; set; } [Inject] IStringLocalizer localizer { get; set; } @@ -96,13 +97,13 @@ namespace TIAMSharedUI.Pages.Components public void OnNext(MouseEventArgs args) { - LogToBrowserConsole.LogToBC("OnNext called"); + BrowserConsoleLogWriter.Info("OnNext called"); CurrentStep++; } public void OnPrevious(MouseEventArgs args) { - LogToBrowserConsole.LogToBC("OnPrev called"); + BrowserConsoleLogWriter.Info("OnPrev called"); CurrentStep--; } @@ -110,7 +111,7 @@ namespace TIAMSharedUI.Pages.Components { var _type = Data.GetType(); - LogToBrowserConsole.LogToBC("Hellooooo " + _type.AssemblyQualifiedName); + BrowserConsoleLogWriter.Info("Hellooooo " + _type.AssemblyQualifiedName); var propertyList = _type.GetProperties(); var _length = propertyList.Length - IgnoreReflection.Count; @@ -136,7 +137,7 @@ namespace TIAMSharedUI.Pages.Components if (!FormSteps.ContainsKey(k)) { _stepID = Guid.NewGuid(); - LogToBrowserConsole.LogToBC($"Adding step {k}, {_stepID}, for {property.Name}"); + BrowserConsoleLogWriter.Info($"Adding step {k}, {_stepID}, for {property.Name}"); FormSteps.Add(k, _stepID); } else @@ -149,7 +150,7 @@ namespace TIAMSharedUI.Pages.Components //the following line creates a lambda expression that returns the value of the property var lambda = Expression.Lambda(typeof(Func<>).MakeGenericType(property.PropertyType), access); - LogToBrowserConsole.LogToBC(lambda.ToString()); + BrowserConsoleLogWriter.Info(lambda.ToString()); layoutItemBuilder.OpenElement(i++, "div");//open div layoutItemBuilder.AddAttribute(i++, "id", _stepID.ToString()); @@ -162,7 +163,7 @@ namespace TIAMSharedUI.Pages.Components else { //this input should be focused, so we set a flag - LogToBrowserConsole.LogToBC($"Setting focus to {property.Name}"); + BrowserConsoleLogWriter.Info($"Setting focus to {property.Name}"); } @@ -183,7 +184,7 @@ namespace TIAMSharedUI.Pages.Components case DataType.Text: { editor.OpenComponent(j++); - LogToBrowserConsole.LogToBC($"{property.Name}, {property.PropertyType}"); + BrowserConsoleLogWriter.Info($"{property.Name}, {property.PropertyType}"); editor.AddAttribute(j++, "Text", property.GetValue(Data)); editor.AddAttribute(j++, "TextExpression", lambda); editor.AddAttribute(j++, "CssClass", "form-field"); @@ -358,9 +359,9 @@ namespace TIAMSharedUI.Pages.Components //editor.AddAttribute(j++, "TExpression", lambda); editor.AddAttribute(j++, "OnSliderChanged", EventCallback.Factory.Create(this, result => { - LogToBrowserConsole.LogToBC($"Slider changed to {result}"); + BrowserConsoleLogWriter.Info($"Slider changed to {result}"); property.SetValue(Data, result); - LogToBrowserConsole.LogToBC($"bleh: {property.Name} = {property.GetValue(Data)}"); + BrowserConsoleLogWriter.Info($"bleh: {property.Name} = {property.GetValue(Data)}"); StateHasChanged(); // Add this line to refresh the UI })); @@ -374,7 +375,7 @@ namespace TIAMSharedUI.Pages.Components editor.AddAttribute(j++, "TextChanged", EventCallback.Factory.Create(this, str => { property.SetValue(Data, str); - LogToBrowserConsole.LogToBC($"bleh: {property.Name} = {property.GetValue(Data)}"); + BrowserConsoleLogWriter.Info($"bleh: {property.Name} = {property.GetValue(Data)}"); })); editor.CloseComponent(); @@ -387,7 +388,7 @@ namespace TIAMSharedUI.Pages.Components editor.AddAttribute(j++, "NullText", "Please tell us your name."); editor.AddAttribute(j++, "FirstNameChanged", EventCallback.Factory.Create(this, result => { - LogToBrowserConsole.LogToBC($"FirstName changed to {result}"); + BrowserConsoleLogWriter.Info($"FirstName changed to {result}"); //find property with name FirstName PropertyInfo firstNameProperty = propertyList.FirstOrDefault(p => p.Name == "FirstName"); @@ -406,7 +407,7 @@ namespace TIAMSharedUI.Pages.Components editor.AddAttribute(j++, "LastNameChanged", EventCallback.Factory.Create(this, result => { - LogToBrowserConsole.LogToBC($"LastName changed to {result}"); + BrowserConsoleLogWriter.Info($"LastName changed to {result}"); //find property with name FirstName PropertyInfo firstNameProperty = propertyList.FirstOrDefault(p => p.Name == "FirstName"); @@ -421,7 +422,7 @@ namespace TIAMSharedUI.Pages.Components string fullName = $"{firstName} {lastName}"; property.SetValue(Data, fullName); } - LogToBrowserConsole.LogToBC($"bleh: {property.Name} = {property.GetValue(Data)}"); + BrowserConsoleLogWriter.Info($"bleh: {property.Name} = {property.GetValue(Data)}"); StateHasChanged(); // Add this line to refresh the UI })); @@ -435,7 +436,7 @@ namespace TIAMSharedUI.Pages.Components editor.AddAttribute(j++, "TextChanged", EventCallback.Factory.Create(this, str => { property.SetValue(Data, str); - LogToBrowserConsole.LogToBC($"bleh: {property.Name} = {property.GetValue(Data)}"); + BrowserConsoleLogWriter.Info($"bleh: {property.Name} = {property.GetValue(Data)}"); })); editor.CloseComponent(); @@ -501,7 +502,7 @@ namespace TIAMSharedUI.Pages.Components layoutItemBuilder.CloseElement(); - LogToBrowserConsole.LogToBC($"loop {k}, length: {_length}, formSteps: {FormSteps.Count} "); + BrowserConsoleLogWriter.Info($"loop {k}, length: {_length}, formSteps: {FormSteps.Count} "); k++; } @@ -510,7 +511,7 @@ namespace TIAMSharedUI.Pages.Components layoutItemBuilder.AddAttribute(i++, "CssClass", "full-width justify-content-center"); layoutItemBuilder.AddAttribute(i++, "Template", (RenderFragment)((context) => ((editor) => { - LogToBrowserConsole.LogToBC($"Submit button {CurrentStep}, {FormSteps.Count}"); + BrowserConsoleLogWriter.Info($"Submit button {CurrentStep}, {FormSteps.Count}"); editor.OpenElement(i++, "button"); editor.AddAttribute(i++, "type", "submit"); @@ -553,7 +554,7 @@ namespace TIAMSharedUI.Pages.Components private void SetPhoneNumber(PropertyInfo property, object Data, string str) { - LogToBrowserConsole.LogToBC($"SetPhoneNumber called with {str}"); + BrowserConsoleLogWriter.Info($"SetPhoneNumber called with {str}"); property.SetValue(Data, str); } } diff --git a/TIAMSharedUI/Pages/Components/SettingsBasic.razor.cs b/TIAMSharedUI/Pages/Components/SettingsBasic.razor.cs index ec445077..275d4770 100644 --- a/TIAMSharedUI/Pages/Components/SettingsBasic.razor.cs +++ b/TIAMSharedUI/Pages/Components/SettingsBasic.razor.cs @@ -10,6 +10,7 @@ using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; +using AyCode.Core.Loggers; using TIAMSharedUI.Resources; using TIAMWebApp.Shared.Application.Interfaces; using TIAMWebApp.Shared.Application.Models; @@ -28,7 +29,7 @@ namespace TIAMSharedUI.Pages.Components [Inject] public NavigationManager navigationManager { get; set; } [Inject] - public LogToBrowserConsole logToBrowserConsole { get; set; } + public IAcLogWriterBase BrowserConsoleLogWriter { get; set; } [Inject] public IComponentUpdateService componentUpdateService { get; set; } @@ -57,12 +58,12 @@ namespace TIAMSharedUI.Pages.Components string? current = await GetCurrentSettings(); if (!string.IsNullOrEmpty(current)) { - logToBrowserConsole.LogToBC(current); + BrowserConsoleLogWriter.Info(current); //SelectedCulture = culture.FirstOrDefault(x => x.Name == Setting.Locale); foreach (var item in culture) { - logToBrowserConsole.LogToBC(item.Name); + BrowserConsoleLogWriter.Info(item.Name); if (item.Name == current) { SelectedCulture = item; @@ -70,7 +71,7 @@ namespace TIAMSharedUI.Pages.Components } } - logToBrowserConsole.LogToBC("Selected: " + SelectedCulture.Name); + BrowserConsoleLogWriter.Info("Selected: " + SelectedCulture.Name); } else { diff --git a/TIAMSharedUI/Pages/Formula1.razor b/TIAMSharedUI/Pages/Formula1.razor index cb0d6e64..b228cb74 100644 --- a/TIAMSharedUI/Pages/Formula1.razor +++ b/TIAMSharedUI/Pages/Formula1.razor @@ -12,6 +12,7 @@ @using TIAMWebApp.Shared.Application.Models.PageModels @using TIAMWebApp.Shared.Application.Utility; @using System.IdentityModel.Tokens.Jwt; +@using AyCode.Core.Loggers @using TIAMSharedUI.Pages.Components; @using TIAMSharedUI.Shared @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @@ -22,7 +23,7 @@ @inject ISessionService sessionService; @inject IStringLocalizer localizer; @inject NavigationManager navManager -@inject LogToBrowserConsole logToBrowserConsole +@inject IAcLogWriterBase BrowserConsoleLogWriter @inject ITransferDataService transferDataService @@ -455,7 +456,7 @@ new HeroSliderItem if (IsLoggedIn) { - logToBrowserConsole.LogToBC("logged in" + sessionService.User.UserModelDto.Products.FirstOrDefault().Id); + BrowserConsoleLogWriter.Info("logged in" + sessionService.User.UserModelDto.Products.FirstOrDefault().Id); } } @@ -497,7 +498,7 @@ new HeroSliderItem } var transferResult = await transferDataService.CreateTransfers(transferList); - logToBrowserConsole.LogToBC($"Submitted nested form: {transferResult.GetType().FullName}, {transferResult.Count}"); + BrowserConsoleLogWriter.Info($"Submitted nested form: {transferResult.GetType().FullName}, {transferResult.Count}"); return transferResult; } } diff --git a/TIAMSharedUI/Pages/Index.razor b/TIAMSharedUI/Pages/Index.razor index 4a44f4d4..3a558d6b 100644 --- a/TIAMSharedUI/Pages/Index.razor +++ b/TIAMSharedUI/Pages/Index.razor @@ -9,6 +9,7 @@ @using TIAMWebApp.Shared.Application.Models.ClientSide.UI @using TIAMWebApp.Shared.Application.Utility; @using System.IdentityModel.Tokens.Jwt; +@using AyCode.Core.Loggers @using TIAMSharedUI.Pages.Components; @using TIAMSharedUI.Shared @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @@ -19,7 +20,7 @@ @inject ISessionService sessionService; @inject IStringLocalizer localizer; @inject NavigationManager navManager -@inject LogToBrowserConsole logToBrowserConsole +@inject IAcLogWriterBase BrowserConsoleLogWriter @inject IWizardProcessor WizardProcessor Index @@ -151,7 +152,7 @@ } transferWizardModel.Price = null; var transfer = await WizardProcessor.ProcessWizardAsync(transferWizardModel.GetType(), transferWizardModel); - logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}"); + BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}"); navManager.NavigateTo("/transfer2/" + transfer.Id); } diff --git a/TIAMSharedUI/Pages/LaunchAdmin.razor b/TIAMSharedUI/Pages/LaunchAdmin.razor index 722a89b7..fb4ee41b 100644 --- a/TIAMSharedUI/Pages/LaunchAdmin.razor +++ b/TIAMSharedUI/Pages/LaunchAdmin.razor @@ -4,11 +4,12 @@ @using TIAMWebApp.Shared.Application.Utility @using Newtonsoft.Json @using System.IdentityModel.Tokens.Jwt +@using AyCode.Core.Loggers @using TIAMWebApp.Shared.Application.Models.ClientSide @using AyCode.Interfaces.StorageHandlers; @inject NavigationManager NavManager @inject IJSRuntime JSRuntime -@inject LogToBrowserConsole logToBrowserConsole +@inject IAcLogWriterBase BrowserConsoleLogWriter @inject IUserDataService UserDataService @inject ISecureStorageHandler SecureStorageHandler @inject HttpClient http; @@ -22,12 +23,12 @@ Loading.... protected async override Task OnInitializedAsync() { - logToBrowserConsole = new LogToBrowserConsole(JSRuntime); + BrowserConsoleLogWriter = new BrowserConsoleLogWriter(JSRuntime); //wait for 5 seconds await Task.Delay(5000); string userDetailsStr = await SecureStorageHandler.GetFromSecureStorageAsync(nameof(Setting.UserBasicDetails)); - logToBrowserConsole.LogToBC(userDetailsStr); + BrowserConsoleLogWriter.Info(userDetailsStr); if (!string.IsNullOrWhiteSpace(userDetailsStr)) { var userBasicDetail = JsonConvert.DeserializeObject(userDetailsStr); @@ -40,30 +41,30 @@ Loading.... if (jsontoken?.ValidTo < DateTime.UtcNow) { - logToBrowserConsole.LogToBC("Token needs to be refreshed"); + BrowserConsoleLogWriter.Info("Token needs to be refreshed"); bool isTokenRefreshed = await UserDataService.RefreshToken(); if (isTokenRefreshed) { - logToBrowserConsole.LogToBC("Token refreshed"); + BrowserConsoleLogWriter.Info("Token refreshed"); NavManager.NavigateTo("/home"); } else { - logToBrowserConsole.LogToBC("Couldn't refresh token"); + BrowserConsoleLogWriter.Info("Couldn't refresh token"); NavManager.NavigateTo("/login"); } } else { - logToBrowserConsole.LogToBC("Valid token found"); + BrowserConsoleLogWriter.Info("Valid token found"); NavManager.NavigateTo("/home"); } } else { - logToBrowserConsole.LogToBC("No token stored yet"); + BrowserConsoleLogWriter.Info("No token stored yet"); NavManager.NavigateTo("/login"); } diff --git a/TIAMSharedUI/Pages/Login.razor.cs b/TIAMSharedUI/Pages/Login.razor.cs index 43bcefc2..9ee4095b 100644 --- a/TIAMSharedUI/Pages/Login.razor.cs +++ b/TIAMSharedUI/Pages/Login.razor.cs @@ -12,7 +12,7 @@ using TIAMSharedUI.Resources; using System.Resources; using Microsoft.Extensions.Localization; using AyCode.Blazor.Components; -using AyCode.Core.Logger; +using AyCode.Core.Loggers; using Azure.Core; namespace TIAMSharedUI.Pages @@ -25,7 +25,7 @@ namespace TIAMSharedUI.Pages [Inject] public IUserDataService userDataService { get; set; } [Inject] - public LogToBrowserConsole logToBrowserConsole { get; set; } + public IAcLogWriterBase BrowserConsoleLogWriter { get; set; } [Inject] public IJSRuntime jsRuntime { get; set; } [Inject] @@ -58,11 +58,11 @@ namespace TIAMSharedUI.Pages private async void SubmitLogin() { currentStep = 1; - logToBrowserConsole.LogToBC("Login started: " + "Email: " + loginModel.Email + ", Password: " + loginModel.Password); + BrowserConsoleLogWriter.Info("Login started: " + "Email: " + loginModel.Email + ", Password: " + loginModel.Password); var response = await userDataService.AuthenticateUser(loginModel); //var response = await UserDataservice.TestUserApi(30); - logToBrowserConsole.LogToBC("Login started"); - logToBrowserConsole.LogToBC(response); + BrowserConsoleLogWriter.Info("Login started"); + BrowserConsoleLogWriter.Info(response); if (!string.IsNullOrEmpty(response)) { @@ -107,14 +107,14 @@ namespace TIAMSharedUI.Pages { //await App.Current.MainPage.DisplayAlert("Error", "Invalid credentials", "Ok"); //display error message via jsinterop - logToBrowserConsole.LogToBC("Invalid credentials"); + BrowserConsoleLogWriter.Info("Invalid credentials"); navManager.NavigateTo("login"); } else { //await App.Current.MainPage.DisplayAlert("Success", "Successful login", "Ok"); //display success message via jsinterop - logToBrowserConsole.LogToBC("Successful login"); + BrowserConsoleLogWriter.Info("Successful login"); var user = await userDataService.IsLoggedInAsync(myId); SaveToSessionInfo(user); user.UserType = UserType.Admin; @@ -129,7 +129,7 @@ namespace TIAMSharedUI.Pages //api error //await App.Current.MainPage.DisplayAlert("Error", "An error occured while trying to login", "Ok"); //display error message via jsinterop - logToBrowserConsole.LogToBC("An error occured while trying to login"); + BrowserConsoleLogWriter.Info("An error occured while trying to login"); navManager.NavigateTo("login"); } diff --git a/TIAMSharedUI/Pages/TestPage.razor b/TIAMSharedUI/Pages/TestPage.razor index f2153bc9..811ed9b5 100644 --- a/TIAMSharedUI/Pages/TestPage.razor +++ b/TIAMSharedUI/Pages/TestPage.razor @@ -4,7 +4,8 @@ @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Utility @using TIAM.Entities.Transfers -@inject LogToBrowserConsole logToBrowserConsole +@using AyCode.Core.Loggers +@inject IAcLogWriterBase BrowserConsoleLogWriter @inject IWizardProcessor WizardProcessor

TestPage

@@ -131,7 +132,7 @@ public async Task SubmitForm(object Result) { var transferDestination = await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result); - logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}"); + BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}"); } } diff --git a/TIAMSharedUI/Pages/TransferPage.razor b/TIAMSharedUI/Pages/TransferPage.razor index 90ad22ed..a254a629 100644 --- a/TIAMSharedUI/Pages/TransferPage.razor +++ b/TIAMSharedUI/Pages/TransferPage.razor @@ -4,8 +4,9 @@ @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Utility +@using AyCode.Core.Loggers @inject NavigationManager navManager -@inject LogToBrowserConsole logToBrowserConsole +@inject IAcLogWriterBase BrowserConsoleLogWriter @inject IWizardProcessor WizardProcessor Transfer @@ -50,7 +51,7 @@ public async Task SubmitForm(object Result) { var transfer = await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result); - logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}"); + BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}"); navManager.NavigateTo("/transfer2/"+transfer.Id); } diff --git a/TIAMSharedUI/Pages/User/Media.razor b/TIAMSharedUI/Pages/User/Media.razor index a7bb2218..de58dc0d 100644 --- a/TIAMSharedUI/Pages/User/Media.razor +++ b/TIAMSharedUI/Pages/User/Media.razor @@ -36,6 +36,7 @@ @rendermode RenderMode.InteractiveWebAssembly @page "/user/media" @using System.Net.Http.Headers +@using AyCode.Core.Loggers @using TIAMSharedUI.Shared @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Models @@ -43,7 +44,7 @@ @layout AdminLayout @inject IJSRuntime JSRuntime; @inject IImageDataService imageDataService; -@inject LogToBrowserConsole logToBrowserConsole; +@inject IAcLogWriterBase BrowserConsoleLogWriter; @implements IAsyncDisposable

File Upload

@@ -153,7 +154,7 @@ { ErrorMessage = ex.Message; - logToBrowserConsole.LogToBC(ex.Message); + BrowserConsoleLogWriter.Info(ex.Message); } } diff --git a/TIAMSharedUI/Pages/User/MyServiceProviders.razor b/TIAMSharedUI/Pages/User/MyServiceProviders.razor index 43de9d7d..f4c3b6ff 100644 --- a/TIAMSharedUI/Pages/User/MyServiceProviders.razor +++ b/TIAMSharedUI/Pages/User/MyServiceProviders.razor @@ -5,8 +5,9 @@ @using TIAMSharedUI.Shared @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Utility +@using AyCode.Core.Loggers @layout AdminLayout -@inject LogToBrowserConsole logToBrowserConsole +@inject IAcLogWriterBase BrowserConsoleLogWriter @inject IStringLocalizer localizer

Properties

@@ -129,7 +130,7 @@ public async Task SubmitForm(object Result) { //await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result); - logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}"); + BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}"); } @@ -153,10 +154,10 @@ { if (e.IsNew) //add new orderData to orderData array - logToBrowserConsole.LogToBC("New orderData added"); + BrowserConsoleLogWriter.Info("New orderData added"); //await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel); else - logToBrowserConsole.LogToBC("orderData updated"); + BrowserConsoleLogWriter.Info("orderData updated"); //modify orderData where orderData.Name == e.EditModel.Name //await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel); @@ -167,14 +168,14 @@ { //await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem); //remove orderData from orderData array - logToBrowserConsole.LogToBC("orderData deleted"); + BrowserConsoleLogWriter.Info("orderData deleted"); //await UpdateDataAsync(); } async Task UpdateDataAsync() { //DataSource = await NwindDataService.GetEmployeesEditableAsync(); //refresh grid - logToBrowserConsole.LogToBC("orderData grid refreshed"); + BrowserConsoleLogWriter.Info("orderData grid refreshed"); } protected override void OnInitialized() diff --git a/TIAMSharedUI/Pages/User/SysAdmins/Grid_MasterDetail_NestedGrid_DetailContent.razor b/TIAMSharedUI/Pages/User/SysAdmins/Grid_MasterDetail_NestedGrid_DetailContent.razor index ede9c097..e19203fa 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/Grid_MasterDetail_NestedGrid_DetailContent.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/Grid_MasterDetail_NestedGrid_DetailContent.razor @@ -4,7 +4,7 @@ @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Utility @inject IUserDataService NwindDataService -@inject LogToBrowserConsole logToBrowserConsole +@inject BrowserConsoleLogWriter BrowserConsoleLogWriter
Contact Phone: @PhoneNumber @@ -50,7 +50,7 @@ PhoneNumber = UserInfo.UserDto.PhoneNumber; EmailAddress = UserInfo.UserDto.EmailAddress; DetailGridData = Customer.TransferToDrivers; - logToBrowserConsole.LogToBC($"DetailGridData: {DetailGridData.Count}"); + BrowserConsoleLogWriter.Info($"DetailGridData: {DetailGridData.Count}"); } void CustomizeEditModel(GridCustomizeEditModelEventArgs e) @@ -73,10 +73,10 @@ { if (e.IsNew) //add new orderData to orderData array - logToBrowserConsole.LogToBC("New orderData added"); + BrowserConsoleLogWriter.Info("New orderData added"); //await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel); else - logToBrowserConsole.LogToBC("orderData updated"); + BrowserConsoleLogWriter.Info("orderData updated"); //await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel); @@ -86,14 +86,14 @@ { //await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem); //remove orderData from orderData array - logToBrowserConsole.LogToBC("orderData deleted"); + BrowserConsoleLogWriter.Info("orderData deleted"); //await UpdateDataAsync(); } async Task UpdateDataAsync() { //DataSource = await NwindDataService.GetEmployeesEditableAsync(); //refresh grid - logToBrowserConsole.LogToBC("orderData grid refreshed"); + BrowserConsoleLogWriter.Info("orderData grid refreshed"); } } \ No newline at end of file diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageProducts.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageProducts.razor index 9d27b7c5..1412cbc3 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageProducts.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageProducts.razor @@ -8,7 +8,7 @@ @using TIAMWebApp.Shared.Application.Models.ClientSide.Messages @using TIAMWebApp.Shared.Application.Utility @layout AdminLayout -@inject LogToBrowserConsole logToBrowserConsole +@inject BrowserConsoleLogWriter BrowserConsoleLogWriter @inject IStringLocalizer localizer