diff --git a/DAL/Repositories/AdWebAppToWebAppRoleRepository.cs b/DAL/Repositories/AdWebAppToWebAppRoleRepository.cs index 663c241..85cc348 100644 --- a/DAL/Repositories/AdWebAppToWebAppRoleRepository.cs +++ b/DAL/Repositories/AdWebAppToWebAppRoleRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class AdWebAppToWebAppRoleRepository : BaseRepository { - public AdWebAppToWebAppRoleRepository(WebApiContext context) : base(context) + public AdWebAppToWebAppRoleRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/CostCentreRepository.cs b/DAL/Repositories/CostCentreRepository.cs index 2ddd994..aeb9b98 100644 --- a/DAL/Repositories/CostCentreRepository.cs +++ b/DAL/Repositories/CostCentreRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class CostCentreRepository : BaseRepository { - public CostCentreRepository(WebApiContext context) : base(context) + public CostCentreRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/DepartmentRepository.cs b/DAL/Repositories/DepartmentRepository.cs index 695e52c..3ac133f 100644 --- a/DAL/Repositories/DepartmentRepository.cs +++ b/DAL/Repositories/DepartmentRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class DepartmentRepository : BaseRepository { - public DepartmentRepository(WebApiContext context) : base(context) + public DepartmentRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/DepartmentToWebAppToEmployeeForWindreamRepository.cs b/DAL/Repositories/DepartmentToWebAppToEmployeeForWindreamRepository.cs index 1047bc7..d0bf5b9 100644 --- a/DAL/Repositories/DepartmentToWebAppToEmployeeForWindreamRepository.cs +++ b/DAL/Repositories/DepartmentToWebAppToEmployeeForWindreamRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class DepartmentToWebAppToEmployeeForWindreamRepository : BaseRepository { - public DepartmentToWebAppToEmployeeForWindreamRepository(WebApiContext context) : base(context) + public DepartmentToWebAppToEmployeeForWindreamRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/DocumentArtRepository.cs b/DAL/Repositories/DocumentArtRepository.cs index afb8624..395248a 100644 --- a/DAL/Repositories/DocumentArtRepository.cs +++ b/DAL/Repositories/DocumentArtRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class DocumentArtRepository : BaseRepository { - public DocumentArtRepository(WebApiContext context) : base(context) + public DocumentArtRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/DocumentArtToDepartmentRepository.cs b/DAL/Repositories/DocumentArtToDepartmentRepository.cs index 1c04d73..d71a910 100644 --- a/DAL/Repositories/DocumentArtToDepartmentRepository.cs +++ b/DAL/Repositories/DocumentArtToDepartmentRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class DocumentArtToDepartmentRepository : BaseRepository { - public DocumentArtToDepartmentRepository(WebApiContext context) : base(context) + public DocumentArtToDepartmentRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/EmployeeAttributeRepository.cs b/DAL/Repositories/EmployeeAttributeRepository.cs index 91f661e..ee6deb4 100644 --- a/DAL/Repositories/EmployeeAttributeRepository.cs +++ b/DAL/Repositories/EmployeeAttributeRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class EmployeeAttributeRepository : BaseRepository { - public EmployeeAttributeRepository(WebApiContext context) : base(context) + public EmployeeAttributeRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/EmployeeRepository.cs b/DAL/Repositories/EmployeeRepository.cs index f564584..87eb298 100644 --- a/DAL/Repositories/EmployeeRepository.cs +++ b/DAL/Repositories/EmployeeRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class EmployeeRepository : BaseRepository { - public EmployeeRepository(WebApiContext context) : base(context) + public EmployeeRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/EmployeeStatusRepository.cs b/DAL/Repositories/EmployeeStatusRepository.cs index 65e987e..747f543 100644 --- a/DAL/Repositories/EmployeeStatusRepository.cs +++ b/DAL/Repositories/EmployeeStatusRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class EmployeeStatusRepository : BaseRepository { - public EmployeeStatusRepository(WebApiContext context) : base(context) + public EmployeeStatusRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/EmployeeToAttributeRepository.cs b/DAL/Repositories/EmployeeToAttributeRepository.cs index 9c9a03e..533f1d6 100644 --- a/DAL/Repositories/EmployeeToAttributeRepository.cs +++ b/DAL/Repositories/EmployeeToAttributeRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class EmployeeToAttributeRepository : BaseRepository { - public EmployeeToAttributeRepository(WebApiContext context) : base(context) + public EmployeeToAttributeRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/EmployeeToDepartmentRepository.cs b/DAL/Repositories/EmployeeToDepartmentRepository.cs index eed68f2..8dc192f 100644 --- a/DAL/Repositories/EmployeeToDepartmentRepository.cs +++ b/DAL/Repositories/EmployeeToDepartmentRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class EmployeeToDepartmentRepository : BaseRepository { - public EmployeeToDepartmentRepository(WebApiContext context) : base(context) + public EmployeeToDepartmentRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/EmployeeToWebAppRepository.cs b/DAL/Repositories/EmployeeToWebAppRepository.cs index 6eb5233..17a745b 100644 --- a/DAL/Repositories/EmployeeToWebAppRepository.cs +++ b/DAL/Repositories/EmployeeToWebAppRepository.cs @@ -3,6 +3,7 @@ using DAL.Models.Filters; using HRD.LDAPService; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; @@ -14,7 +15,7 @@ namespace DAL.Repositories { private readonly LdapManager _ldapManager; - public EmployeeToWebAppRepository(WebApiContext context, LdapManager ldapManager) : base(context) + public EmployeeToWebAppRepository(WebApiContext context, LdapManager ldapManager, ILogger logger) : base(context, logger) { _ldapManager = ldapManager; } @@ -107,7 +108,7 @@ namespace DAL.Repositories if (!result) { - WriteLogError($"An error occurred while '{action}' the '{employee.LoginName}' into '{groupSuffix}'."); + _logger.LogError($"An error occurred while '{action}' the '{employee.LoginName}' into '{groupSuffix}'."); return false; }; return true; diff --git a/DAL/Repositories/ProjectRepository.cs b/DAL/Repositories/ProjectRepository.cs index 5f7b74d..ddc392a 100644 --- a/DAL/Repositories/ProjectRepository.cs +++ b/DAL/Repositories/ProjectRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class ProjectRepository : BaseRepository { - public ProjectRepository(WebApiContext context) : base(context) + public ProjectRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/RangRepository.cs b/DAL/Repositories/RangRepository.cs index 2f86175..a7ac05a 100644 --- a/DAL/Repositories/RangRepository.cs +++ b/DAL/Repositories/RangRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class RangRepository : BaseRepository { - public RangRepository(WebApiContext context) : base(context) + public RangRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/SubsidiaryRepository.cs b/DAL/Repositories/SubsidiaryRepository.cs index 153c6b8..12e27ea 100644 --- a/DAL/Repositories/SubsidiaryRepository.cs +++ b/DAL/Repositories/SubsidiaryRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class SubsidiaryRepository : BaseRepository { - public SubsidiaryRepository(WebApiContext context) : base(context) + public SubsidiaryRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/WebAppAdditionalRoleRepository.cs b/DAL/Repositories/WebAppAdditionalRoleRepository.cs index cb32ee2..d4f445d 100644 --- a/DAL/Repositories/WebAppAdditionalRoleRepository.cs +++ b/DAL/Repositories/WebAppAdditionalRoleRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WebAppAdditionalRoleRepository : BaseRepository { - public WebAppAdditionalRoleRepository(WebApiContext context) : base(context) + public WebAppAdditionalRoleRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WebAppRepository.cs b/DAL/Repositories/WebAppRepository.cs index ade638c..aba0f53 100644 --- a/DAL/Repositories/WebAppRepository.cs +++ b/DAL/Repositories/WebAppRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class WebAppRepository : BaseRepository { - public WebAppRepository(WebApiContext context) : base(context) + public WebAppRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/WebAppRoleRepository.cs b/DAL/Repositories/WebAppRoleRepository.cs index cb581ee..c72b8f2 100644 --- a/DAL/Repositories/WebAppRoleRepository.cs +++ b/DAL/Repositories/WebAppRoleRepository.cs @@ -1,11 +1,12 @@ using DAL.Models.Entities; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL.Repositories { public class WebAppRoleRepository : BaseRepository { - public WebAppRoleRepository(WebApiContext context) : base(context) + public WebAppRoleRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/DAL/Repositories/WebAppToDepartmentRepository.cs b/DAL/Repositories/WebAppToDepartmentRepository.cs index 69114a6..3cb3a1a 100644 --- a/DAL/Repositories/WebAppToDepartmentRepository.cs +++ b/DAL/Repositories/WebAppToDepartmentRepository.cs @@ -3,6 +3,7 @@ using DAL.Models.Filters; using HRD.LDAPService; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; @@ -14,7 +15,7 @@ namespace DAL.Repositories { private readonly LdapManager _ldapManager; - public WebAppToDepartmentRepository(WebApiContext context, LdapManager ldapManager) : base(context) + public WebAppToDepartmentRepository(WebApiContext context, LdapManager ldapManager, ILogger logger) : base(context, logger) { _ldapManager = ldapManager; } diff --git a/DAL/Repositories/WebAppToWebAppAdditionalRoleRepository.cs b/DAL/Repositories/WebAppToWebAppAdditionalRoleRepository.cs index cf3855c..197154c 100644 --- a/DAL/Repositories/WebAppToWebAppAdditionalRoleRepository.cs +++ b/DAL/Repositories/WebAppToWebAppAdditionalRoleRepository.cs @@ -3,6 +3,7 @@ using DAL.Models.Filters; using HRD.LDAPService; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; @@ -14,7 +15,7 @@ namespace DAL.Repositories { private readonly LdapManager _ldapManager; - public WebAppToWebAppAdditionalRoleRepository(WebApiContext context, LdapManager ldapManager) : base(context) + public WebAppToWebAppAdditionalRoleRepository(WebApiContext context, LdapManager ldapManager, ILogger logger) : base(context, logger) { _ldapManager = ldapManager; } diff --git a/DAL/Repositories/WebAppToWebAppRoleRepository.cs b/DAL/Repositories/WebAppToWebAppRoleRepository.cs index 8084eb6..1a7098a 100644 --- a/DAL/Repositories/WebAppToWebAppRoleRepository.cs +++ b/DAL/Repositories/WebAppToWebAppRoleRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WebAppToWebAppRoleRepository : BaseRepository { - public WebAppToWebAppRoleRepository(WebApiContext context) : base(context) + public WebAppToWebAppRoleRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WindreamColumnsToDepartmentRepository.cs b/DAL/Repositories/WindreamColumnsToDepartmentRepository.cs index 99b2b78..87322b5 100644 --- a/DAL/Repositories/WindreamColumnsToDepartmentRepository.cs +++ b/DAL/Repositories/WindreamColumnsToDepartmentRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WindreamColumnsToDepartmentRepository : BaseRepository { - public WindreamColumnsToDepartmentRepository(WebApiContext context) : base(context) + public WindreamColumnsToDepartmentRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WindreamIndexRepository.cs b/DAL/Repositories/WindreamIndexRepository.cs index 3971847..fb01c4f 100644 --- a/DAL/Repositories/WindreamIndexRepository.cs +++ b/DAL/Repositories/WindreamIndexRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WindreamIndexRepository : BaseRepository { - public WindreamIndexRepository(WebApiContext context) : base(context) + public WindreamIndexRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WindreamIndexToWindreamSearchToDepartmentRepository.cs b/DAL/Repositories/WindreamIndexToWindreamSearchToDepartmentRepository.cs index 1cc5a52..54582ce 100644 --- a/DAL/Repositories/WindreamIndexToWindreamSearchToDepartmentRepository.cs +++ b/DAL/Repositories/WindreamIndexToWindreamSearchToDepartmentRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WindreamIndexToWindreamSearchToDepartmentRepository : BaseRepository { - public WindreamIndexToWindreamSearchToDepartmentRepository(WebApiContext context) : base(context) + public WindreamIndexToWindreamSearchToDepartmentRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WindreamInputFolderRepository.cs b/DAL/Repositories/WindreamInputFolderRepository.cs index 06f9410..e89e2f5 100644 --- a/DAL/Repositories/WindreamInputFolderRepository.cs +++ b/DAL/Repositories/WindreamInputFolderRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WindreamInputFolderRepository : BaseRepository { - public WindreamInputFolderRepository(WebApiContext context) : base(context) + public WindreamInputFolderRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WindreamSearchItemRepository.cs b/DAL/Repositories/WindreamSearchItemRepository.cs index 3558d6a..202510a 100644 --- a/DAL/Repositories/WindreamSearchItemRepository.cs +++ b/DAL/Repositories/WindreamSearchItemRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WindreamSearchItemRepository : BaseRepository { - public WindreamSearchItemRepository(WebApiContext context) : base(context) + public WindreamSearchItemRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WindreamSearchItemToWindreamSearchToDepartmentRepository.cs b/DAL/Repositories/WindreamSearchItemToWindreamSearchToDepartmentRepository.cs index 7528a39..3fb70bb 100644 --- a/DAL/Repositories/WindreamSearchItemToWindreamSearchToDepartmentRepository.cs +++ b/DAL/Repositories/WindreamSearchItemToWindreamSearchToDepartmentRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WindreamSearchItemToWindreamSearchToDepartmentRepository : BaseRepository { - public WindreamSearchItemToWindreamSearchToDepartmentRepository(WebApiContext context) : base(context) + public WindreamSearchItemToWindreamSearchToDepartmentRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WindreamSearchRepository.cs b/DAL/Repositories/WindreamSearchRepository.cs index 0f1c918..db454c0 100644 --- a/DAL/Repositories/WindreamSearchRepository.cs +++ b/DAL/Repositories/WindreamSearchRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WindreamSearchRepository : BaseRepository { - public WindreamSearchRepository(WebApiContext context) : base(context) + public WindreamSearchRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/Repositories/WindreamSearchToDepartmentRepository.cs b/DAL/Repositories/WindreamSearchToDepartmentRepository.cs index dc28e1e..27512ba 100644 --- a/DAL/Repositories/WindreamSearchToDepartmentRepository.cs +++ b/DAL/Repositories/WindreamSearchToDepartmentRepository.cs @@ -2,6 +2,7 @@ using DAL.Models.Entities; using DAL.Models.Filters; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -10,7 +11,7 @@ namespace DAL.Repositories { public class WindreamSearchToDepartmentRepository : BaseRepository { - public WindreamSearchToDepartmentRepository(WebApiContext context) : base(context) + public WindreamSearchToDepartmentRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/_Shared/SharedRepositories/WebAppEmployeeInfoRepository.cs b/DAL/_Shared/SharedRepositories/WebAppEmployeeInfoRepository.cs index afdb16d..e1cea3c 100644 --- a/DAL/_Shared/SharedRepositories/WebAppEmployeeInfoRepository.cs +++ b/DAL/_Shared/SharedRepositories/WebAppEmployeeInfoRepository.cs @@ -2,6 +2,7 @@ using HRD.LDAPService; using HRD.WebApi.Repositories; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -11,7 +12,7 @@ namespace DAL._Shared.SharedRepositories public class WebAppEmployeeInfoRepository : BaseRepository { - public WebAppEmployeeInfoRepository(WebApiContext context) : base(context) + public WebAppEmployeeInfoRepository(WebApiContext context, ILogger logger) : base(context, logger) { } diff --git a/DAL/_Shared/SharedRepositories/WebAppUserRepository.cs b/DAL/_Shared/SharedRepositories/WebAppUserRepository.cs index a3659a7..e05d1d0 100644 --- a/DAL/_Shared/SharedRepositories/WebAppUserRepository.cs +++ b/DAL/_Shared/SharedRepositories/WebAppUserRepository.cs @@ -1,11 +1,12 @@ using DAL._Shared.SharedModels; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace DAL._Shared.SharedRepositories { public class WebAppUserRepository : BaseRepository { - public WebAppUserRepository(WebApiContext context) : base(context) + public WebAppUserRepository(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/HRD.AppLogger/AppLoggerConfig.cs b/HRD.AppLogger/AppLoggerConfig.cs deleted file mode 100644 index e414180..0000000 --- a/HRD.AppLogger/AppLoggerConfig.cs +++ /dev/null @@ -1,255 +0,0 @@ -using HRD.AppLogger; -using NLog; -using NLog.Config; -using NLog.Targets; -using System; -using System.Collections.Generic; -using System.IO; - -namespace HRD.AppLogger -{ - public enum EN_LoggingLevel - { - Trace = 1, - Debug = 2, - Info = 3, - Warn = 4, - Error = 5, - Fatal = 6, - Off = 7 - } -} - -public static class AppLoggerConfig -{ - private static readonly string DBLOG_CommandText = - @" - INSERT INTO dbo.DBLog - ( MachineName, - Application, - Logged, - Level, - Message, - Logger, - CallSite, - Webrequest, - Stacktrace, - InnerException, - Exception, - Version, - Entity - ) - VALUES - ( @machineName, - @application, - @logged, - @level, - @message, - @logger, - @callsite, - iif(@webrequestaction='',@webrequest, concat(@webrequest,' | action:',@webrequestaction)), - @stacktrace, - @innerException, - @exception, - @Version, - @Entity - );"; - - private static readonly Dictionary DBLOG_Parameters = new Dictionary() { - //Globals - {"@version", "${gdc:item=Version}"}, - {"@application", "${gdc:item=Application}"}, - - //Local - //{"@webrequest", "${mdlc:item=Webrequest}"}, - {"@entity", "${mdlc:item=Entity}"}, - - //WebApi - {"@webrequest", "${aspnet-request-url}"}, - {"@webrequestaction", "${aspnet-mvc-action}"}, - - //Nlog - {"@machineName", "${machinename}" }, - {"@logged", "${date}"}, - {"@level", "${level:upperCase=true}"}, - {"@message", "${message}"}, - {"@logger", "${logger}"}, - {"@callSite", "${callsite:fileName=true:includeSourcePath=false:skipFrames=1}"}, //{"@callSite", "${callsite:filename=false:className=true:methodName=true}"}, - {"@stacktrace", "${stacktrace:topFrames=10}"}, - {"@InnerException", "${exception:format=Message,StackTrace,Data:maxInnerExceptionLevel=10}"}, - {"@Exception", "${exception:format=ToString}"}, - }; - - public static string AssemblyName { get; set; } - public static string AssemblyVersion { get; set; } - public static EN_LoggingLevel DBLogLevel { get; set; } = EN_LoggingLevel.Warn; - public static EN_LoggingLevel FileLogLevel { get; set; } = EN_LoggingLevel.Error; - public static string LogDirectory { get; set; } = String.Empty; - public static string NlogConnectionstring { get; set; } - public static LogLevel NlogDBLogLevel { get; set; } - public static LogLevel NlogFileLogLevel { get; set; } - public static NlogSentryConfig NlogSentryConfig { get; set; } = new NlogSentryConfig(); - - public static LoggingConfiguration CreateConfig() - { - NlogDBLogLevel = MapLogLevel(DBLogLevel); - NlogFileLogLevel = MapLogLevel(FileLogLevel); - - var config = new LoggingConfiguration(); - - DatabaseTarget dbTarget = CreateDatabaseTarget(config); - var dbRule = new LoggingRule("*", NlogDBLogLevel, dbTarget); - config.LoggingRules.Add(dbRule); - - //Rules - FileTarget targetFile = CreateFileTarget(config); - var rule = new LoggingRule("*", NlogFileLogLevel, targetFile); - config.LoggingRules.Add(rule); - if (NlogSentryConfig.NlogSentryIsEnable) - { - AddSentry(config); - } - - return config; - } - - public static void Init( - string assemblyName, - string assemblyVersion, - EN_LoggingLevel dbLogLevel = EN_LoggingLevel.Warn - , EN_LoggingLevel fileLoogLevel = EN_LoggingLevel.Off - , string logDirectory = "") - { - AssemblyVersion = assemblyVersion; - AssemblyName = assemblyName; - DBLogLevel = dbLogLevel; - FileLogLevel = fileLoogLevel; - LogDirectory = logDirectory; - } - - private static void AddSentry(LoggingConfiguration config) - { - config.AddSentry(o => - { - o.Dsn = NlogSentryConfig.Dsn; - - o.Layout = "${message}"; - - o.BreadcrumbLayout = "${logger}: ${message} #url: ${aspnet-request-url} | #action: ${aspnet-mvc-action}"; - // Optionally specify a separate format for breadcrumbs - - o.MinimumBreadcrumbLevel = NlogSentryConfig.MinimumBreadcrumbLevel; // Debug and higher are stored as breadcrumbs (default is Info) - o.MinimumEventLevel = NlogSentryConfig.MinimumEventLevel; // Error and higher is sent as event (default is Error) - - // If DSN is not set, the SDK will look for an environment variable called SENTRY_DSN. If - // nothing is found, SDK is disabled. - - o.AttachStacktrace = NlogSentryConfig.AttachStacktrace; - o.SendDefaultPii = NlogSentryConfig.SendDefaultPii; // Send Personal Identifiable information like the username of the user logged in to the device - - o.IncludeEventDataOnBreadcrumbs = NlogSentryConfig.IncludeEventDataOnBreadcrumbs; // Optionally include event properties with breadcrumbs - o.ShutdownTimeoutSeconds = 5; - o.TracesSampleRate = 0.3; - - //Optionally specify user properties via NLog (here using MappedDiagnosticsLogicalContext as an example) - // o.User = new SentryNLogUser - // { - // Id = "${mdlc:item=id}", - // Username = "${mdlc:item=username}", - // Email = "${mdlc:item=email}", - // IpAddress = "${mdlc:item=ipAddress}", - // Other = - //{ - // new TargetPropertyWithContext("mood", "joyous") - //}, - //}; - - o.AddTag("Backend", "${gdc:item=Application}"); // Send the logger name as a tag - o.AddTag("BackendVersion", "${gdc:item=Version}"); // Send the logger name as a tag - o.AddTag("logger", "${logger}"); // Send the logger name as a tag - - // Other configuration - }); - } - - private static DatabaseTarget CreateDatabaseTarget(LoggingConfiguration config) - { - var dbTarget = new DatabaseTarget - { - ConnectionString = NlogConnectionstring, - - CommandText = DBLOG_CommandText - }; - - foreach (var item in DBLOG_Parameters) - { - dbTarget.Parameters.Add(new DatabaseParameterInfo(item.Key, item.Value)); - } - - config.AddTarget("database", dbTarget); - return dbTarget; - } - - private static FileTarget CreateFileTarget(LoggingConfiguration config) - { - var targetFile = - new FileTarget - { - FileName = Path.Combine( - !string.IsNullOrEmpty(LogDirectory) ? LogDirectory : "${basedir}/_logs/", - "${gdc:item=Application}" + "_V." + "${gdc:item=Version}" + $"_{DateTime.Now:yyyyMMdd}.log"), - Layout = "${date}|${uppercase:${level}}|${stacktrace}|${message}" + - "|${exception:format=Message,StackTrace,Data:maxInnerExceptionLevel=10}" + - "${event-properties:item=EventId.Id}" - }; - - config.AddTarget("logfile", targetFile); - return targetFile; - } - - private static LogLevel MapLogLevel(EN_LoggingLevel loggingLevel) - { - LogLevel logLevel = LogLevel.Error; - switch (loggingLevel) - { - case EN_LoggingLevel.Trace: - logLevel = LogLevel.Trace; - break; - - case EN_LoggingLevel.Debug: - logLevel = LogLevel.Debug; - break; - - case EN_LoggingLevel.Info: - logLevel = LogLevel.Info; - break; - - case EN_LoggingLevel.Warn: - logLevel = LogLevel.Warn; - break; - - case EN_LoggingLevel.Error: - logLevel = LogLevel.Error; - break; - - case EN_LoggingLevel.Fatal: - logLevel = LogLevel.Fatal; - break; - - case EN_LoggingLevel.Off: - logLevel = LogLevel.Off; - break; - - default: - break; - } - return logLevel; - } - - public static void SetSentryUser(int id, string login, string email, IDictionary others = null) - { - NlogSentryConfig.SentryUser = new Sentry.User { Id = id.ToString(), Username = login, Email = email }; - if (others != null) NlogSentryConfig.SentryUser.Other = others; - Sentry.SentrySdk.ConfigureScope(scope => { scope.User = NlogSentryConfig.SentryUser; }); - } -} \ No newline at end of file diff --git a/HRD.AppLogger/ILoggerManager.cs b/HRD.AppLogger/ILoggerManager.cs deleted file mode 100644 index de1df6c..0000000 --- a/HRD.AppLogger/ILoggerManager.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; - -namespace HRD.AppLogger -{ - public interface ILoggerManager - { - void LogDebug(string message, string entityMessage = null, string webrequest = null, string userLogin = null); - - void LogError(string message, string entityMessage = null, string webrequest = null, string userLogin = null); - - void LogInfo(string message, string entityMessage = null, string webrequest = null, string userLogin = null); - - void LogWarn(string message, string entityMessage = null, string webrequest = null, string userLogin = null); - - void LogException(Exception exception, string entityMessage = null, string webrequest = null, string userLogin = null); - } -} \ No newline at end of file diff --git a/HRD.AppLogger/LoggerManager.cs b/HRD.AppLogger/LoggerManager.cs deleted file mode 100644 index c39f96f..0000000 --- a/HRD.AppLogger/LoggerManager.cs +++ /dev/null @@ -1,214 +0,0 @@ -using NLog; -using Sentry; -using System; - -namespace HRD.AppLogger -{ - public class LoggerManager : ILoggerManager - { - private static readonly ILogger logger = LogManager.GetCurrentClassLogger(); - - public LoggerManager(bool throwExceptions = true) : this() - { - LogManager.ThrowExceptions = throwExceptions; - } - - public LoggerManager() - { - GlobalDiagnosticsContext.Set("Version", AppLoggerConfig.AssemblyVersion); - GlobalDiagnosticsContext.Set("Application", AppLoggerConfig.AssemblyName); - - LogManager.ThrowConfigExceptions = true; - LogManager.ThrowExceptions = false; - LogManager.Configuration = AppLoggerConfig.CreateConfig(); - } - - public void WriteLog(Action log, Object message, string entityMessage = null, string webrequest = null, string userLogin = null) - { - MappedDiagnosticsLogicalContext.Set("Entity", !String.IsNullOrEmpty(entityMessage) ? entityMessage : ""); - MappedDiagnosticsLogicalContext.Set("Webrequest", !String.IsNullOrEmpty(webrequest) ? webrequest : ""); - - if (AppLoggerConfig.NlogSentryConfig.NlogSentryIsEnable) - { - SentrySdk.WithScope(scope => - { - if (!String.IsNullOrEmpty(entityMessage)) - { - scope.SetTag("Entity", entityMessage); - } - - if (!String.IsNullOrEmpty(webrequest)) - { - scope.SetTag("Webrequest", webrequest); - } - - if (!String.IsNullOrEmpty(userLogin)) - { - scope.SetTag("UserLogin", userLogin); - } - - log(message); - }); - } - else log(message); - } - - public void LogDebug(string message, string entityMessage = null, string webrequest = null, string userLogin = null) - { - WriteLog(logger.Debug, message, entityMessage, webrequest, userLogin); - - /* MappedDiagnosticsLogicalContext.Set("Entity", !String.IsNullOrEmpty(entityMessage) ? entityMessage : ""); - MappedDiagnosticsLogicalContext.Set("Webrequest", !String.IsNullOrEmpty(webrequest) ? webrequest : ""); - - if (AppLoggerConfig.NlogSentryConfig.NlogSentryIsEnable) - { - SentrySdk.WithScope(scope => - { - if (!String.IsNullOrEmpty(entityMessage)) - { - scope.SetTag("Entity", entityMessage); - } - - if (!String.IsNullOrEmpty(webrequest)) - { - scope.SetTag("Webrequest", webrequest); - } - - if (!String.IsNullOrEmpty(userLogin)) - { - scope.SetTag("UserLogin", userLogin); - } - - logger.Debug(message); - }); - } - else logger.Debug(message);*/ - } - - public void LogError(string message, string entityMessage = null, string webrequest = null, string userLogin = null) - { - //WriteLog(logger.Error, message, entityMessage, webrequest, userLogin); - MappedDiagnosticsLogicalContext.Set("Entity", !String.IsNullOrEmpty(entityMessage) ? entityMessage : ""); - MappedDiagnosticsLogicalContext.Set("Webrequest", !String.IsNullOrEmpty(webrequest) ? webrequest : ""); - - if (AppLoggerConfig.NlogSentryConfig.NlogSentryIsEnable) - { - SentrySdk.WithScope(scope => - { - if (!String.IsNullOrEmpty(entityMessage)) - { - scope.SetTag("Entity", entityMessage); - } - - if (!String.IsNullOrEmpty(webrequest)) - { - scope.SetTag("Webrequest", webrequest); - } - - if (!String.IsNullOrEmpty(userLogin)) - { - scope.SetTag("UserLogin", userLogin); - } - - logger.Error(message); - }); - } - else logger.Error(message); - } - - public void LogException(Exception exception, string entityMessage = null, string webrequest = null, string userLogin = null) - { - //WriteLog(logger.Error, exception, entityMessage, webrequest, userLogin); - - MappedDiagnosticsLogicalContext.Set("Entity", !String.IsNullOrEmpty(entityMessage) ? entityMessage : ""); - MappedDiagnosticsLogicalContext.Set("Webrequest", !String.IsNullOrEmpty(webrequest) ? webrequest : ""); - - if (AppLoggerConfig.NlogSentryConfig.NlogSentryIsEnable) - { - SentrySdk.WithScope(scope => - { - if (!String.IsNullOrEmpty(entityMessage)) - { - scope.SetTag("Entity", entityMessage); - } - - if (!String.IsNullOrEmpty(webrequest)) - { - scope.SetTag("Webrequest", webrequest); - } - - if (!String.IsNullOrEmpty(userLogin)) - { - scope.SetTag("UserLogin", userLogin); - } - - logger.Error(exception); - }); - } - else logger.Error(exception); - } - - public void LogWarn(string message, string entityMessage = null, string webrequest = null, string userLogin = null) - { - //WriteLog(logger.Warn, message, entityMessage, webrequest, userLogin); - - MappedDiagnosticsLogicalContext.Set("Entity", !String.IsNullOrEmpty(entityMessage) ? entityMessage : ""); - MappedDiagnosticsLogicalContext.Set("Webrequest", !String.IsNullOrEmpty(webrequest) ? webrequest : ""); - - if (AppLoggerConfig.NlogSentryConfig.NlogSentryIsEnable) - { - SentrySdk.WithScope(scope => - { - if (!String.IsNullOrEmpty(entityMessage)) - { - scope.SetTag("Entity", entityMessage); - } - - if (!String.IsNullOrEmpty(webrequest)) - { - scope.SetTag("Webrequest", webrequest); - } - - if (!String.IsNullOrEmpty(userLogin)) - { - scope.SetTag("UserLogin", userLogin); - } - - logger.Warn(message); - }); - } - else logger.Warn(message); - } - - public void LogInfo(string message, string entityMessage = null, string webrequest = null, string userLogin = null) - { - //WriteLog(logger.Info, message, entityMessage, webrequest, userLogin); - MappedDiagnosticsLogicalContext.Set("Entity", !String.IsNullOrEmpty(entityMessage) ? entityMessage : ""); - MappedDiagnosticsLogicalContext.Set("Webrequest", !String.IsNullOrEmpty(webrequest) ? webrequest : ""); - - if (AppLoggerConfig.NlogSentryConfig.NlogSentryIsEnable) - { - SentrySdk.WithScope(scope => - { - if (!String.IsNullOrEmpty(entityMessage)) - { - scope.SetTag("Entity", entityMessage); - } - - if (!String.IsNullOrEmpty(webrequest)) - { - scope.SetTag("Webrequest", webrequest); - } - - if (!String.IsNullOrEmpty(userLogin)) - { - scope.SetTag("UserLogin", userLogin); - } - - logger.Info(message); - }); - } - else logger.Info(message); - } - } -} \ No newline at end of file diff --git a/HRD.AppLogger/NlogSentryConfig.cs b/HRD.AppLogger/NlogSentryConfig.cs deleted file mode 100644 index 39939b1..0000000 --- a/HRD.AppLogger/NlogSentryConfig.cs +++ /dev/null @@ -1,29 +0,0 @@ -using NLog; -using Sentry; - -namespace HRD.AppLogger -{ - public class NlogSentryConfig - { - public bool AttachStacktrace { get; set; } = false; - public string Dsn { get; set; } - - // - // Summary: - // Determines whether or not to include event-level data as data in breadcrumbs - // for future errors. Defaults to false. - public bool IncludeEventDataOnBreadcrumbs { get; set; } = false; - - // Minimum log level to be included in the breadcrumb. Defaults to LogLevel.Info. - public LogLevel MinimumBreadcrumbLevel { get; set; } = LogLevel.Warn; - - // - // Summary: - // Minimum log level for events to trigger a send to Sentry. Defaults to LogLevel.Error. - public LogLevel MinimumEventLevel { get; set; } = LogLevel.Warn; - - public bool NlogSentryIsEnable { get; set; } - public bool SendDefaultPii { get; set; } = false; - public User? SentryUser { get; set; } - } -} \ No newline at end of file diff --git a/HRD.WebApi/Configs/WebApiConfig.cs b/HRD.WebApi/Configs/WebApiConfig.cs index 2726fba..cc4ddf9 100644 --- a/HRD.WebApi/Configs/WebApiConfig.cs +++ b/HRD.WebApi/Configs/WebApiConfig.cs @@ -1,5 +1,5 @@ -using HRD.AppLogger; -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; @@ -10,7 +10,7 @@ namespace HRD.WebApi { public string WebRequestMethod { get; set; } public string WebRequestPath { get; set; } - public EN_LoggingLevel LoggingLevel { get; set; } = EN_LoggingLevel.Info; + public LogLevel LoggingLevel { get; set; } = LogLevel.Information; } //TODO: remove this. configure each with iconfiguretion using ioptions interface @@ -18,13 +18,14 @@ namespace HRD.WebApi { private static string _dalConnectionstring; - internal static EN_LoggingLevel GetMonitoringWebRequestLevel(string method, string path) + internal static LogLevel GetMonitoringWebRequestLevel(string method, string path) { var entity = NlogMonitoringWebRequest.FirstOrDefault( x => x.WebRequestMethod.Equals(method, StringComparison.OrdinalIgnoreCase) && (x.WebRequestPath == "*" || path.StartsWith(x.WebRequestPath, StringComparison.OrdinalIgnoreCase)) ); - if (entity == default) { return EN_LoggingLevel.Off; } + if (entity == default) + return LogLevel.None; return entity.LoggingLevel; } @@ -69,15 +70,6 @@ namespace HRD.WebApi } } - AppLoggerConfig.Init( - WebApiConfig.AssemblyName, WebApiConfig.AssemblyVersion, - WebApiConfig.NlogDBLogLevel, - WebApiConfig.NlogFileLogLevel, - WebApiConfig.NlogLogDirectory); - AppLoggerConfig.NlogConnectionstring = NlogConnectionstring; - AppLoggerConfig.NlogSentryConfig.Dsn = WebApiConfig.NlogSentryDSN; - AppLoggerConfig.NlogSentryConfig.NlogSentryIsEnable = WebApiConfig.NlogSentryIsEnable; - //custom var list = appSettings.GetSection("CustomConfig").GetChildren(); foreach (var item in list) @@ -86,14 +78,14 @@ namespace HRD.WebApi } } - public static EN_LoggingLevel ToEnumLoggingLevel(string enumString) + public static LogLevel ToEnumLoggingLevel(string enumString) { if (string.IsNullOrEmpty(enumString)) { - return EN_LoggingLevel.Off; + return LogLevel.None; } - return (EN_LoggingLevel)Enum.Parse(typeof(EN_LoggingLevel), enumString); + return (LogLevel)Enum.Parse(typeof(LogLevel), enumString); } internal static void InitCustomSetting(Dictionary customConfig) @@ -136,8 +128,8 @@ namespace HRD.WebApi public static bool NlogSentryIsEnable { get; set; } = true; public static string NlogConnectionstring { get; set; } - public static EN_LoggingLevel NlogFileLogLevel { get; set; } = EN_LoggingLevel.Error; - public static EN_LoggingLevel NlogDBLogLevel { get; set; } = EN_LoggingLevel.Error; + public static LogLevel NlogFileLogLevel { get; set; } = LogLevel.Error; + public static LogLevel NlogDBLogLevel { get; set; } = LogLevel.Error; public static DbContextOptions SQLOptions() { diff --git a/HRD.WebApi/Controllers/BaseController.cs b/HRD.WebApi/Controllers/BaseController.cs index 50f1755..84d9672 100644 --- a/HRD.WebApi/Controllers/BaseController.cs +++ b/HRD.WebApi/Controllers/BaseController.cs @@ -1,8 +1,8 @@ -using HRD.AppLogger; -using HRD.WebApi.DAL; +using HRD.WebApi.DAL; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Threading.Tasks; @@ -15,12 +15,12 @@ namespace HRD.WebApi.Controllers public abstract class BaseController : Microsoft.AspNetCore.Mvc.Controller where TEntity : BaseEntity, new() { private readonly IBaseRepository _entityRepository; - private readonly ILoggerManager _logger; + private readonly ILogger _logger; - public BaseController(IBaseRepository baseRepository) : base() + public BaseController(IBaseRepository baseRepository, ILogger logger) : base() { _entityRepository = baseRepository; - _logger = new LoggerManager(); + _logger = logger; } protected IBaseRepository EntityRepository => _entityRepository; @@ -178,19 +178,19 @@ namespace HRD.WebApi.Controllers [NonAction] public void WriteLogException(Exception exception, String entityMessage = null) { - _logger.LogException(exception, entityMessage); + _logger.LogError(exception, "{message}", entityMessage); } [NonAction] public void WriteLogInfo(string message) { - _logger.LogInfo(message); + _logger.LogError("{message}", message); } [NonAction] public void WriteLogWarn(string message, String entityMessage = null) { - _logger.LogWarn(message, entityMessage); + _logger.LogError(message, "{message}", entityMessage); } } } \ No newline at end of file diff --git a/HRD.WebApi/Controllers/BaseMiniController.cs b/HRD.WebApi/Controllers/BaseMiniController.cs index f08baae..f374e4c 100644 --- a/HRD.WebApi/Controllers/BaseMiniController.cs +++ b/HRD.WebApi/Controllers/BaseMiniController.cs @@ -1,6 +1,6 @@ -using HRD.AppLogger; -using HRD.WebApi.DAL; +using HRD.WebApi.DAL; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; namespace HRD.WebApi.Controllers @@ -10,43 +10,19 @@ namespace HRD.WebApi.Controllers [ApiController] public abstract class BaseMiniController : Microsoft.AspNetCore.Mvc.Controller { - private readonly ILoggerManager _logger; + protected readonly ILogger _logger; public readonly WebApiBaseContext Context; - public BaseMiniController(WebApiBaseContext webApiBaseContext) + public BaseMiniController(WebApiBaseContext webApiBaseContext, ILogger logger) { Context = webApiBaseContext; - _logger = new LoggerManager(); - } - - [NonAction] - public void WriteLogDebug(string message, String entityMessage = null) - { - WriteLogDebug(message, entityMessage); - } - - [NonAction] - public void WriteLogError(string message, String entityMessage = null) - { - _logger.LogError(message, entityMessage); + _logger = logger; } [NonAction] public void WriteLogException(Exception exception, String entityMessage = null) { - _logger.LogException(exception, entityMessage); - } - - [NonAction] - public void WriteLogInfo(string message) - { - _logger.LogInfo(message); - } - - [NonAction] - public void WriteLogWarn(string message, String entityMessage = null) - { - _logger.LogWarn(message, entityMessage); + _logger.LogError(exception, "{entityMessage}", entityMessage); } } } \ No newline at end of file diff --git a/HRD.WebApi/Controllers/InfoBaseController.cs b/HRD.WebApi/Controllers/InfoBaseController.cs index dd9ecec..86ccd91 100644 --- a/HRD.WebApi/Controllers/InfoBaseController.cs +++ b/HRD.WebApi/Controllers/InfoBaseController.cs @@ -1,6 +1,7 @@ using HRD.WebApi.DAL; using HRD.WebApi.Helpers; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; namespace HRD.WebApi.Controllers @@ -10,7 +11,7 @@ namespace HRD.WebApi.Controllers [ApiController] public abstract class InfoBaseController : BaseMiniController { - public InfoBaseController(WebApiBaseContext webApiBaseContext) : base(webApiBaseContext) + public InfoBaseController(WebApiBaseContext webApiBaseContext, ILogger logger) : base(webApiBaseContext, logger) { } @@ -24,7 +25,7 @@ namespace HRD.WebApi.Controllers } catch (Exception ex) { - WriteLogException(ex); + _logger.LogError(ex, "{entityMessage}", ex.Message); return NotFound(); } } diff --git a/HRD.WebApi/Helpers/ExceptionExtension.cs b/HRD.WebApi/Helpers/ExceptionExtension.cs index 39427f7..9f6ee98 100644 --- a/HRD.WebApi/Helpers/ExceptionExtension.cs +++ b/HRD.WebApi/Helpers/ExceptionExtension.cs @@ -1,9 +1,10 @@ -using HRD.AppLogger; -using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Diagnostics; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; namespace HRD.WebApi.Helpers { @@ -27,10 +28,11 @@ namespace HRD.WebApi.Helpers Detail = errorFeature.Error.Message }; - ILoggerManager logger = new LoggerManager(); - logger.LogException(errorFeature.Error, null, customError.URI); - - await context.Response.WriteAsync(customError.ToJsonString()).ConfigureAwait(false); + var loggerFactory = app.ApplicationServices.GetRequiredService(); + ILogger logger = loggerFactory.CreateLogger("ExceptionExtension"); + logger.LogError(errorFeature.Error, "An error occurred while processing the request. URI: {RequestUri}", customError.URI); + + await context.Response.WriteAsync(JsonConvert.Serialize(customError)).ConfigureAwait(false); } }); }); diff --git a/HRD.WebApi/Helpers/HttpErrorDetails.cs b/HRD.WebApi/Helpers/HttpErrorDetails.cs index e87b877..2afcc69 100644 --- a/HRD.WebApi/Helpers/HttpErrorDetails.cs +++ b/HRD.WebApi/Helpers/HttpErrorDetails.cs @@ -1,5 +1,4 @@ -using HRD.AppLogger; -using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.ModelBinding; @@ -22,12 +21,7 @@ namespace HRD.WebApi.Helpers ConstructErrorMessages(context); } - public string URI { get; set; } - - public string ToJsonString() - { - return JsonConvert.Serialize(this); - } + public string URI { get; init; } private void ConstructErrorMessages(ActionContext context) { @@ -37,12 +31,10 @@ namespace HRD.WebApi.Helpers var errors = keyModelStatePair.Value.Errors; if (errors != null && errors.Count > 0) { - ILoggerManager logger = new LoggerManager(); if (errors.Count == 1) { var errorMessage = GetErrorMessage(errors[0]); base.Errors.Add(key, new[] { errorMessage }); - logger.LogError(errorMessage, null, URI); Detail = errorMessage; } else @@ -51,7 +43,6 @@ namespace HRD.WebApi.Helpers for (var i = 0; i < errors.Count; i++) { errorMessages[i] = GetErrorMessage(errors[i]); - logger.LogError(errorMessages[i], null, URI); if (i == 0) { Detail = errorMessages[i]; } } base.Errors.Add(key, errorMessages); @@ -60,10 +51,6 @@ namespace HRD.WebApi.Helpers } } - private string GetErrorMessage(ModelError error) - { - return string.IsNullOrEmpty(error.ErrorMessage) ? - "The input was not valid." : error.ErrorMessage; - } + private static string GetErrorMessage(ModelError error) => string.IsNullOrEmpty(error.ErrorMessage) ? "The input was not valid." : error.ErrorMessage; } } \ No newline at end of file diff --git a/HRD.WebApi/Middleware/WebApiMiddleware.cs b/HRD.WebApi/Middleware/WebApiMiddleware.cs index 99f46d4..39fb058 100644 --- a/HRD.WebApi/Middleware/WebApiMiddleware.cs +++ b/HRD.WebApi/Middleware/WebApiMiddleware.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Logging; using System.IO; using System.Threading.Tasks; @@ -13,10 +14,12 @@ namespace HRD.WebApi.DAL.Middleware public class WebApiMiddleware { private readonly RequestDelegate _next; + private readonly ILogger _logger; - public WebApiMiddleware(RequestDelegate next) + public WebApiMiddleware(RequestDelegate next, ILogger logger) { _next = next; + _logger = logger; } public async Task InvokeAsync(HttpContext httpContext) @@ -24,9 +27,9 @@ namespace HRD.WebApi.DAL.Middleware try { var loglevel = WebApiConfig.GetMonitoringWebRequestLevel(httpContext.Request.Method, httpContext.Request.Path.Value); - if (loglevel == AppLogger.EN_LoggingLevel.Info - || loglevel == AppLogger.EN_LoggingLevel.Warn - || loglevel == AppLogger.EN_LoggingLevel.Error + if (loglevel == LogLevel.Information + || loglevel == LogLevel.Warning + || loglevel == LogLevel.Error ) { var requestReader = new StreamReader(httpContext.Request.Body); @@ -35,10 +38,10 @@ namespace HRD.WebApi.DAL.Middleware { requestContent = $"{httpContext.Request.Method} {httpContext.Request.Path.Value}"; } - AppLogger.ILoggerManager logger = new AppLogger.LoggerManager(); - if (loglevel == AppLogger.EN_LoggingLevel.Info) { logger.LogInfo(requestContent); } - if (loglevel == AppLogger.EN_LoggingLevel.Warn) { logger.LogWarn(requestContent); } - if (loglevel == AppLogger.EN_LoggingLevel.Error) { logger.LogError(requestContent); } + + if (loglevel == LogLevel.Information) { _logger.LogInformation(requestContent); } + if (loglevel == LogLevel.Warning) { _logger.LogWarning(requestContent); } + if (loglevel == LogLevel.Error) { _logger.LogError(requestContent); } } } catch (System.Exception) diff --git a/HRD.WebApi/Middleware/WebApiMiddlewareOptions.cs b/HRD.WebApi/Middleware/WebApiMiddlewareOptions.cs index b523ede..77b5a20 100644 --- a/HRD.WebApi/Middleware/WebApiMiddlewareOptions.cs +++ b/HRD.WebApi/Middleware/WebApiMiddlewareOptions.cs @@ -1,4 +1,4 @@ -using HRD.AppLogger; +using Microsoft.Extensions.Logging; using System; namespace HRD.WebApi.DAL.Middleware @@ -16,7 +16,7 @@ namespace HRD.WebApi.DAL.Middleware public string NlogConnectionstring { get; set; } = String.Empty; - public EN_LoggingLevel NlogFileLogLevel { get; set; } = EN_LoggingLevel.Error; - public EN_LoggingLevel NlogDBLogLevel { get; set; } = EN_LoggingLevel.Error; + public LogLevel NlogFileLogLevel { get; set; } = LogLevel.Error; + public LogLevel NlogDBLogLevel { get; set; } = LogLevel.Error; } } \ No newline at end of file diff --git a/HRD.WebApi/Repositories/BaseRepository.cs b/HRD.WebApi/Repositories/BaseRepository.cs index 51f7062..1ff23dc 100644 --- a/HRD.WebApi/Repositories/BaseRepository.cs +++ b/HRD.WebApi/Repositories/BaseRepository.cs @@ -1,10 +1,11 @@ using HRD.WebApi.DAL; +using Microsoft.Extensions.Logging; namespace HRD.WebApi.Repositories { public abstract class BaseRepository : BaseRepositoryCore where T : BaseEntity { - public BaseRepository(WebApiBaseContext repositoryContext) : base(repositoryContext) + public BaseRepository(WebApiBaseContext repositoryContext, ILogger logger) : base(repositoryContext, logger) { } } diff --git a/HRD.WebApi/Repositories/BaseRepositoryCore.cs b/HRD.WebApi/Repositories/BaseRepositoryCore.cs index 779cc33..791b060 100644 --- a/HRD.WebApi/Repositories/BaseRepositoryCore.cs +++ b/HRD.WebApi/Repositories/BaseRepositoryCore.cs @@ -1,7 +1,7 @@ -using HRD.AppLogger; -using HRD.WebApi.DAL; +using HRD.WebApi.DAL; using HRD.WebApi.Helpers; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; @@ -12,19 +12,14 @@ namespace HRD.WebApi.Repositories { public abstract class BaseRepositoryCore : IBaseRepository where T : BaseEntityCore { - private readonly ILoggerManager _logger; + protected readonly ILogger _logger; + protected DbContext RepositoryContext { get; private set; } - protected BaseRepositoryCore(WebApiBaseContext repositoryContext) + protected BaseRepositoryCore(WebApiBaseContext repositoryContext, ILogger logger) { RepositoryContext = repositoryContext; - AppLoggerConfig.Init( - WebApiConfig.AssemblyName, - WebApiConfig.AssemblyVersion, - WebApiConfig.NlogDBLogLevel, - WebApiConfig.NlogFileLogLevel, - WebApiConfig.NlogLogDirectory); - _logger = new LoggerManager(); + _logger = logger; } public virtual bool Add(T entity, bool saveEntity = true) @@ -592,28 +587,18 @@ namespace HRD.WebApi.Repositories _logger.LogDebug(message, entityMessage); } - public void WriteLogError(string message, String entityMessage = null) + public void WriteLogError(string message, string entityMessage = null) { - _logger.LogError(message, entityMessage); + _logger.LogError(message, "{entityMessage}", entityMessage); } - public void WriteLogException(Exception exception, String entityMessage = null) + public void WriteLogException(Exception exception, string entityMessage = null) { - _logger.LogException(exception, entityMessage); + _logger.LogError(exception, "{entityMessage}", entityMessage); if (WebApiConfig.RaiseRepositoryExceptions) { throw exception; } } - - public void WriteLogInfo(string message) - { - _logger.LogInfo(message); - } - - public void WriteLogWarn(string message, String entityMessage = null) - { - _logger.LogWarn(message, entityMessage); - } } } \ No newline at end of file diff --git a/StaffDBServer/Controllers/AdWebAppToWebAppRoleController.cs b/StaffDBServer/Controllers/AdWebAppToWebAppRoleController.cs index 6ab4745..d4f7930 100644 --- a/StaffDBServer/Controllers/AdWebAppToWebAppRoleController.cs +++ b/StaffDBServer/Controllers/AdWebAppToWebAppRoleController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class AdWebAppToWebAppRoleController : BaseController { - public AdWebAppToWebAppRoleController(IBaseRepository repositoryBase) : base(repositoryBase) + public AdWebAppToWebAppRoleController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/CostCentreController.cs b/StaffDBServer/Controllers/CostCentreController.cs index 34b3252..64697c5 100644 --- a/StaffDBServer/Controllers/CostCentreController.cs +++ b/StaffDBServer/Controllers/CostCentreController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class CostCentreController : BaseController { - public CostCentreController(IBaseRepository repositoryBase) : base(repositoryBase) + public CostCentreController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/DepartmentController.cs b/StaffDBServer/Controllers/DepartmentController.cs index f35e091..d8444aa 100644 --- a/StaffDBServer/Controllers/DepartmentController.cs +++ b/StaffDBServer/Controllers/DepartmentController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Threading.Tasks; @@ -15,7 +16,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class DepartmentController : BaseController { - public DepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) + public DepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/DepartmentToWebAppToEmployeeForWindreamController.cs b/StaffDBServer/Controllers/DepartmentToWebAppToEmployeeForWindreamController.cs index fa5f5aa..ff7e311 100644 --- a/StaffDBServer/Controllers/DepartmentToWebAppToEmployeeForWindreamController.cs +++ b/StaffDBServer/Controllers/DepartmentToWebAppToEmployeeForWindreamController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class DepartmentToWebAppToEmployeeForWindreamController : BaseController { - public DepartmentToWebAppToEmployeeForWindreamController(IBaseRepository repositoryBase) : base(repositoryBase) + public DepartmentToWebAppToEmployeeForWindreamController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/DocumentArtController.cs b/StaffDBServer/Controllers/DocumentArtController.cs index 3b41883..91bd9f9 100644 --- a/StaffDBServer/Controllers/DocumentArtController.cs +++ b/StaffDBServer/Controllers/DocumentArtController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class DocumentArtController : BaseController { - public DocumentArtController(IBaseRepository repositoryBase) : base(repositoryBase) + public DocumentArtController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/DocumentArtToDepartmentController.cs b/StaffDBServer/Controllers/DocumentArtToDepartmentController.cs index 6ce3149..10dfe16 100644 --- a/StaffDBServer/Controllers/DocumentArtToDepartmentController.cs +++ b/StaffDBServer/Controllers/DocumentArtToDepartmentController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class DocumentArtToDepartmentController : BaseController { - public DocumentArtToDepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) + public DocumentArtToDepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/EmployeeAttributeController.cs b/StaffDBServer/Controllers/EmployeeAttributeController.cs index 864be45..175c9ef 100644 --- a/StaffDBServer/Controllers/EmployeeAttributeController.cs +++ b/StaffDBServer/Controllers/EmployeeAttributeController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class EmployeeAttributeController : BaseController { - public EmployeeAttributeController(IBaseRepository repositoryBase) : base(repositoryBase) + public EmployeeAttributeController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/EmployeeController.cs b/StaffDBServer/Controllers/EmployeeController.cs index 768f619..196a1a8 100644 --- a/StaffDBServer/Controllers/EmployeeController.cs +++ b/StaffDBServer/Controllers/EmployeeController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -13,7 +14,7 @@ namespace StaffDBServer.Controllers { public class EmployeeController : BaseController { - public EmployeeController(IBaseRepository repositoryBase) : base(repositoryBase) + public EmployeeController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/EmployeeStatusController.cs b/StaffDBServer/Controllers/EmployeeStatusController.cs index 7aa1e46..20321d4 100644 --- a/StaffDBServer/Controllers/EmployeeStatusController.cs +++ b/StaffDBServer/Controllers/EmployeeStatusController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class EmployeeStatusController : BaseController { - public EmployeeStatusController(IBaseRepository repositoryBase) : base(repositoryBase) + public EmployeeStatusController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/EmployeeToAttributeController.cs b/StaffDBServer/Controllers/EmployeeToAttributeController.cs index fcc4cd2..e5723c4 100644 --- a/StaffDBServer/Controllers/EmployeeToAttributeController.cs +++ b/StaffDBServer/Controllers/EmployeeToAttributeController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class EmployeeToAttributeController : BaseController { - public EmployeeToAttributeController(IBaseRepository repositoryBase) : base(repositoryBase) + public EmployeeToAttributeController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/EmployeeToDepartmentController.cs b/StaffDBServer/Controllers/EmployeeToDepartmentController.cs index f5bf92f..35ddf9f 100644 --- a/StaffDBServer/Controllers/EmployeeToDepartmentController.cs +++ b/StaffDBServer/Controllers/EmployeeToDepartmentController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class EmployeeToDepartmentController : BaseController { - public EmployeeToDepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) + public EmployeeToDepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/EmployeeToWebAppController.cs b/StaffDBServer/Controllers/EmployeeToWebAppController.cs index b578b77..97b6c4a 100644 --- a/StaffDBServer/Controllers/EmployeeToWebAppController.cs +++ b/StaffDBServer/Controllers/EmployeeToWebAppController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class EmployeeToWebAppController : BaseController { - public EmployeeToWebAppController(IBaseRepository repositoryBase) : base(repositoryBase) + public EmployeeToWebAppController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/ProjectController.cs b/StaffDBServer/Controllers/ProjectController.cs index 4f02814..efdd725 100644 --- a/StaffDBServer/Controllers/ProjectController.cs +++ b/StaffDBServer/Controllers/ProjectController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class ProjectController : BaseController { - public ProjectController(IBaseRepository repositoryBase) : base(repositoryBase) + public ProjectController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/RangController.cs b/StaffDBServer/Controllers/RangController.cs index 27e0ccc..f14c34e 100644 --- a/StaffDBServer/Controllers/RangController.cs +++ b/StaffDBServer/Controllers/RangController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class RangController : BaseController { - public RangController(IBaseRepository repositoryBase) : base(repositoryBase) + public RangController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/SubsidiaryController.cs b/StaffDBServer/Controllers/SubsidiaryController.cs index 7b8e806..d44e421 100644 --- a/StaffDBServer/Controllers/SubsidiaryController.cs +++ b/StaffDBServer/Controllers/SubsidiaryController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class SubsidiaryController : BaseController { - public SubsidiaryController(IBaseRepository repositoryBase) : base(repositoryBase) + public SubsidiaryController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/WebAppAdditionalRoleController.cs b/StaffDBServer/Controllers/WebAppAdditionalRoleController.cs index 85e2f6c..ffe3a96 100644 --- a/StaffDBServer/Controllers/WebAppAdditionalRoleController.cs +++ b/StaffDBServer/Controllers/WebAppAdditionalRoleController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WebAppAdditionalRoleController : BaseController { - public WebAppAdditionalRoleController(IBaseRepository repositoryBase) : base(repositoryBase) + public WebAppAdditionalRoleController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WebAppController.cs b/StaffDBServer/Controllers/WebAppController.cs index 0b7b6c5..0acaefe 100644 --- a/StaffDBServer/Controllers/WebAppController.cs +++ b/StaffDBServer/Controllers/WebAppController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class WebAppController : BaseController { - public WebAppController(IBaseRepository repositoryBase) : base(repositoryBase) + public WebAppController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/WebAppRoleController.cs b/StaffDBServer/Controllers/WebAppRoleController.cs index 4675d49..ddfb2f5 100644 --- a/StaffDBServer/Controllers/WebAppRoleController.cs +++ b/StaffDBServer/Controllers/WebAppRoleController.cs @@ -2,13 +2,14 @@ using DAL.Models.Entities; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; +using Microsoft.Extensions.Logging; namespace StaffDBServer.Controllers { [JWTAuthorize] public class WebAppRoleController : BaseController { - public WebAppRoleController(IBaseRepository repositoryBase) : base(repositoryBase) + public WebAppRoleController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } } diff --git a/StaffDBServer/Controllers/WebAppToDepartmentController.cs b/StaffDBServer/Controllers/WebAppToDepartmentController.cs index 20f5129..49daa5a 100644 --- a/StaffDBServer/Controllers/WebAppToDepartmentController.cs +++ b/StaffDBServer/Controllers/WebAppToDepartmentController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WebAppToDepartmentController : BaseController { - public WebAppToDepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) + public WebAppToDepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WebAppToWebAppAdditionalRoleController.cs b/StaffDBServer/Controllers/WebAppToWebAppAdditionalRoleController.cs index 3ac623d..538562a 100644 --- a/StaffDBServer/Controllers/WebAppToWebAppAdditionalRoleController.cs +++ b/StaffDBServer/Controllers/WebAppToWebAppAdditionalRoleController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WebAppToWebAppAdditionalRoleController : BaseController { - public WebAppToWebAppAdditionalRoleController(IBaseRepository repositoryBase) : base(repositoryBase) + public WebAppToWebAppAdditionalRoleController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WebAppToWebAppRoleController.cs b/StaffDBServer/Controllers/WebAppToWebAppRoleController.cs index 8208ef3..fd7c018 100644 --- a/StaffDBServer/Controllers/WebAppToWebAppRoleController.cs +++ b/StaffDBServer/Controllers/WebAppToWebAppRoleController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WebAppToWebAppRoleController : BaseController { - public WebAppToWebAppRoleController(IBaseRepository repositoryBase) : base(repositoryBase) + public WebAppToWebAppRoleController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WindreamColumnsToDepartmentController.cs b/StaffDBServer/Controllers/WindreamColumnsToDepartmentController.cs index 8a0be37..7576a55 100644 --- a/StaffDBServer/Controllers/WindreamColumnsToDepartmentController.cs +++ b/StaffDBServer/Controllers/WindreamColumnsToDepartmentController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WindreamColumnsToDepartmentController : BaseController { - public WindreamColumnsToDepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) + public WindreamColumnsToDepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WindreamIndexController.cs b/StaffDBServer/Controllers/WindreamIndexController.cs index f390310..c14f511 100644 --- a/StaffDBServer/Controllers/WindreamIndexController.cs +++ b/StaffDBServer/Controllers/WindreamIndexController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WindreamIndexController : BaseController { - public WindreamIndexController(IBaseRepository repositoryBase) : base(repositoryBase) + public WindreamIndexController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WindreamIndexToWindreamSearchToDepartmentController.cs b/StaffDBServer/Controllers/WindreamIndexToWindreamSearchToDepartmentController.cs index 793a1d1..192ee36 100644 --- a/StaffDBServer/Controllers/WindreamIndexToWindreamSearchToDepartmentController.cs +++ b/StaffDBServer/Controllers/WindreamIndexToWindreamSearchToDepartmentController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WindreamIndexToWindreamSearchToDepartmentController : BaseController { - public WindreamIndexToWindreamSearchToDepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) + public WindreamIndexToWindreamSearchToDepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WindreamInputFolderController.cs b/StaffDBServer/Controllers/WindreamInputFolderController.cs index 8d89ca1..35842b1 100644 --- a/StaffDBServer/Controllers/WindreamInputFolderController.cs +++ b/StaffDBServer/Controllers/WindreamInputFolderController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WindreamInputFolderController : BaseController { - public WindreamInputFolderController(IBaseRepository repositoryBase) : base(repositoryBase) + public WindreamInputFolderController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WindreamSearchController.cs b/StaffDBServer/Controllers/WindreamSearchController.cs index 50776e3..b597255 100644 --- a/StaffDBServer/Controllers/WindreamSearchController.cs +++ b/StaffDBServer/Controllers/WindreamSearchController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WindreamSearchController : BaseController { - public WindreamSearchController(IBaseRepository repositoryBase) : base(repositoryBase) + public WindreamSearchController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WindreamSearchItemController.cs b/StaffDBServer/Controllers/WindreamSearchItemController.cs index 1885bcb..8d399a9 100644 --- a/StaffDBServer/Controllers/WindreamSearchItemController.cs +++ b/StaffDBServer/Controllers/WindreamSearchItemController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WindreamSearchItemController : BaseController { - public WindreamSearchItemController(IBaseRepository repositoryBase) : base(repositoryBase) + public WindreamSearchItemController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WindreamSearchItemToWindreamSearchToDepartmentController.cs b/StaffDBServer/Controllers/WindreamSearchItemToWindreamSearchToDepartmentController.cs index 3d2bc11..168041c 100644 --- a/StaffDBServer/Controllers/WindreamSearchItemToWindreamSearchToDepartmentController.cs +++ b/StaffDBServer/Controllers/WindreamSearchItemToWindreamSearchToDepartmentController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; @@ -14,7 +15,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WindreamSearchItemToWindreamSearchToDepartmentController : BaseController { - public WindreamSearchItemToWindreamSearchToDepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) + public WindreamSearchItemToWindreamSearchToDepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Controllers/WindreamSearchToDepartmentController.cs b/StaffDBServer/Controllers/WindreamSearchToDepartmentController.cs index 48a046a..27ab40c 100644 --- a/StaffDBServer/Controllers/WindreamSearchToDepartmentController.cs +++ b/StaffDBServer/Controllers/WindreamSearchToDepartmentController.cs @@ -6,6 +6,7 @@ using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Threading.Tasks; @@ -15,7 +16,7 @@ namespace StaffDBServer.Controllers [JWTAuthorize] public class WindreamSearchToDepartmentController : BaseController { - public WindreamSearchToDepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) + public WindreamSearchToDepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } diff --git a/StaffDBServer/Program.cs b/StaffDBServer/Program.cs index b1a986a..fe2420a 100644 --- a/StaffDBServer/Program.cs +++ b/StaffDBServer/Program.cs @@ -1,5 +1,4 @@ using DAL; -using HRD.AppLogger; using HRD.WebApi; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; @@ -23,17 +22,10 @@ using NSwag; using System.Linq; using Microsoft.Extensions.PlatformAbstractions; using Microsoft.AspNetCore.Mvc; +using NLog; +using LogLevel = Microsoft.Extensions.Logging.LogLevel; -AppDomain.CurrentDomain.UnhandledException += (object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs) => -{ - ILoggerManager logger = new LoggerManager(); - logger.LogException((Exception)unhandledExceptionEventArgs.ExceptionObject, "Application closed due to exception."); - NLog.LogManager.Flush(); -}; - -ILoggerManager logger = new LoggerManager(); -logger.LogWarn($"[Start WebApi Server] BaseDirectory: {AppDomain.CurrentDomain.BaseDirectory}; TargetFrameworkName: {AppDomain.CurrentDomain.SetupInformation.TargetFrameworkName}"); - +var logger = NLog.LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger(); try { var builder = WebApplication.CreateBuilder(args); @@ -62,9 +54,7 @@ try builder.Services.ConfigureJWT(StaffDBServer.Extends.JwtMiddlewareOptionsHelper.GetJwtMiddlewareOptions()); ; builder.Services.ConfigureDAL(WebApiMiddlewareOptionsHelper.GetWebApiMiddlewareOptions()); - - builder.Services.AddSingleton(); - + //SWAGGER builder.Services.AddSwaggerDocument(config => { @@ -165,7 +155,7 @@ try } catch (Exception ex) { - logger.LogException(ex, "Stopped program because of exception"); + logger.Log(NLog.LogLevel.Error, ex, $"Stopped program because of exception\n{ex.Message}"); throw; } finally diff --git a/StaffDBServer/_Shared/SharedControllers/InfoController.cs b/StaffDBServer/_Shared/SharedControllers/InfoController.cs index 197cff3..b83e8d2 100644 --- a/StaffDBServer/_Shared/SharedControllers/InfoController.cs +++ b/StaffDBServer/_Shared/SharedControllers/InfoController.cs @@ -1,6 +1,7 @@ using DAL; using HRD.WebApi.Controllers; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; namespace StaffDBServer.SharedExtensions { @@ -9,7 +10,7 @@ namespace StaffDBServer.SharedExtensions [ApiController] public class InfoController : InfoBaseController { - public InfoController(WebApiContext context) : base(context) + public InfoController(WebApiContext context, ILogger logger) : base(context, logger) { } } diff --git a/StaffDBServer/_Shared/SharedControllers/WebAppUserController.cs b/StaffDBServer/_Shared/SharedControllers/WebAppUserController.cs index b150b1a..9d863b9 100644 --- a/StaffDBServer/_Shared/SharedControllers/WebAppUserController.cs +++ b/StaffDBServer/_Shared/SharedControllers/WebAppUserController.cs @@ -5,6 +5,7 @@ using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using Microsoft.Net.Http.Headers; using System; using System.Threading.Tasks; @@ -17,7 +18,7 @@ namespace StaffDBServer.SharedControllers private readonly WebAppUserRepository webAppUserRepository; private readonly WebAppUserHelper webAppUserHelper; - public WebAppUserController(WebApiContext context, WebAppUserRepository webAppUserRepository, WebAppUserHelper webAppUserHelper) : base(context) + public WebAppUserController(WebApiContext context, WebAppUserRepository webAppUserRepository, WebAppUserHelper webAppUserHelper, ILogger logger) : base(context, logger) { this.webAppUserRepository = webAppUserRepository; this.webAppUserHelper = webAppUserHelper; diff --git a/StaffDBServer/appsettings.json b/StaffDBServer/appsettings.json index 0ba4e24..bca6011 100644 --- a/StaffDBServer/appsettings.json +++ b/StaffDBServer/appsettings.json @@ -1,7 +1,7 @@ { "Logging": { "LogLevel": { - "Default": "Warning" + "Default": "Information" } }, "ConnectionStrings": { @@ -14,15 +14,57 @@ "OfficeFileServerUrl": "" }, - "Nlog": { - "NlogConnectionstring": "%sqlConnection%", - "NlogDBLogLevel": "Warn", - "NlogFileLogLevel": "Warn", - "NlogLogDirectory": "c:\\temp\\_logs\\", - "NlogSentryDSN": "", - "NlogSentryIsEnable": "false" + // "Nlog": { + // "NlogConnectionstring": "%sqlConnection%", + // "NlogDBLogLevel": "Warn", + // "NlogFileLogLevel": "Warn", + // "NlogLogDirectory": "c:\\temp\\_logs\\", + // "NlogSentryDSN": "", + // "NlogSentryIsEnable": "false" + // }, + "NLog": { + "LogLevel": { + "Default": "Info" + }, + "Targets": { + "console": { + "type": "Console", + "layout": "${longdate}|${level:uppercase=true}|${message}${onexception:${newline}${exception:format=ToString}}" + }, + "infoFile": { + "type": "File", + "fileName": "E:\\LogFiles\\DigitalData\\info.log", + "layout": "${longdate}|${level:uppercase=true}|${message}${onexception:${newline}${exception:format=ToString}}" + }, + "warnFile": { + "type": "File", + "fileName": "E:\\LogFiles\\DigitalData\\warn.log", + "layout": "${longdate}|${level:uppercase=true}|${message}${onexception:${newline}${exception:format=ToString}}" + }, + "errorFile": { + "type": "File", + "fileName": "E:\\LogFiles\\DigitalData\\error.log", + "layout": "${longdate}|${level:uppercase=true}|${message}${onexception:${newline}${exception:format=ToString}}" + } + }, + "Rules": [ + { + "logger": "*", + "minLevel": "Info", + "writeTo": "console,infoFile" + }, + { + "logger": "*", + "minLevel": "Warn", + "writeTo": "console,warnFile" + }, + { + "logger": "*", + "minLevel": "Error", + "writeTo": "console,errorFile" + } + ] }, - "CustomConfig": { }, diff --git a/XUnitDAL.Test/_Shared/Shared_test_config.cs b/XUnitDAL.Test/_Shared/Shared_test_config.cs index cc47d61..65ce51e 100644 --- a/XUnitDAL.Test/_Shared/Shared_test_config.cs +++ b/XUnitDAL.Test/_Shared/Shared_test_config.cs @@ -1,5 +1,4 @@ -using HRD.AppLogger; -using HRD.LDAPService; +using HRD.LDAPService; using HRD.LDAPService.JWT; using HRD.WebApi; using Microsoft.Extensions.Configuration; @@ -23,8 +22,6 @@ namespace XUnitWebApi.SharedConfig WebApiConfig.AssemblyVersion = "xxx.xx"; //WebApiConfig.Connectionstring = Config_ConnectionString; //WebApiConfig.NlogConnectionstring = Config_ConnectionString; - WebApiConfig.NlogDBLogLevel = EN_LoggingLevel.Error; - WebApiConfig.NlogFileLogLevel = EN_LoggingLevel.Off; WebApiConfig.RaiseRepositoryExceptions = false; //JWT#1