From 41e8bd87ce3b618917d8b00445e28d790057c435 Mon Sep 17 00:00:00 2001 From: SuhorukovAnton Date: Fri, 13 May 2022 13:36:04 +0300 Subject: [PATCH] add loggers --- common/ASC.IPSecurity/GlobalUsings.cs | 2 + common/ASC.IPSecurity/Log/IPSecurityLogger.cs | 39 +++++++++++++++++++ common/ASC.IPSecurity/Utils/IPSecurity.cs | 10 ++--- 3 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 common/ASC.IPSecurity/Log/IPSecurityLogger.cs diff --git a/common/ASC.IPSecurity/GlobalUsings.cs b/common/ASC.IPSecurity/GlobalUsings.cs index d14c3db300..e38a3b93ae 100644 --- a/common/ASC.IPSecurity/GlobalUsings.cs +++ b/common/ASC.IPSecurity/GlobalUsings.cs @@ -37,6 +37,8 @@ global using ASC.Core.Common.EF; global using ASC.Core.Common.EF.Context; global using ASC.Core.Common.EF.Model; global using ASC.Core.Common.Settings; +global using ASC.Core.Tenants; +global using ASC.IPSecurity.Log; global using AutoMapper; global using AutoMapper.QueryableExtensions; diff --git a/common/ASC.IPSecurity/Log/IPSecurityLogger.cs b/common/ASC.IPSecurity/Log/IPSecurityLogger.cs new file mode 100644 index 0000000000..200a01b25a --- /dev/null +++ b/common/ASC.IPSecurity/Log/IPSecurityLogger.cs @@ -0,0 +1,39 @@ +// (c) Copyright Ascensio System SIA 2010-2022 +// +// This program is a free software product. +// You can redistribute it and/or modify it under the terms +// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software +// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended +// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of +// any third-party rights. +// +// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see +// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html +// +// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021. +// +// The interactive user interfaces in modified source and object code versions of the Program must +// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. +// +// Pursuant to Section 7(b) of the License you must retain the original Product logo when +// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under +// trademark law for use of our trademarks. +// +// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing +// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 +// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + + +namespace ASC.IPSecurity.Log; +internal static partial class IPSecurityLogger +{ + [LoggerMessage(Level = LogLevel.Error, Message = "Can't verify request with IP-address: {requestIps}. Tenant: {tenant}.")] + public static partial void ErrorCantVerifyRequest(this ILogger logger, string requestIps, Tenant tenant, Exception exception); + + [LoggerMessage(Level = LogLevel.Information, Message = "Restricted from IP-address: {ip}. Tenant: {tenant}. Request to: {url}")] + public static partial void InformationRestricted(this ILogger logger, string ip, Tenant tenant, string url); + + [LoggerMessage(Level = LogLevel.Error, Message = "Can't verify local network from request with IP-address: {ips}")] + public static partial void ErrorCantVerifyLocalNetWork(this ILogger logger, string ips, Exception exception); +} diff --git a/common/ASC.IPSecurity/Utils/IPSecurity.cs b/common/ASC.IPSecurity/Utils/IPSecurity.cs index cf058b92a3..b8b02f4e27 100644 --- a/common/ASC.IPSecurity/Utils/IPSecurity.cs +++ b/common/ASC.IPSecurity/Utils/IPSecurity.cs @@ -22,8 +22,8 @@ // // All the Product's GUI elements, including illustrations and icon sets, as well as technical writing // content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 -// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode - +// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + namespace ASC.IPSecurity; [Scope] @@ -110,12 +110,12 @@ public class IPSecurity } catch (Exception ex) { - _logger.LogError(ex, "Can't verify request with IP-address: {requestIps}. Tenant: {tenant}.", requestIps ?? "", tenant); + _logger.ErrorCantVerifyRequest(requestIps ?? "", tenant, ex); return false; } - _logger.LogInformation("Restricted from IP-address: {ip}. Tenant: {tenant}. Request to: {url}", requestIps ?? "", tenant, _httpContextAccessor.HttpContext.Request.GetDisplayUrl()); + _logger.InformationRestricted(requestIps ?? "", tenant, _httpContextAccessor.HttpContext.Request.GetDisplayUrl()); return false; } @@ -174,7 +174,7 @@ public class IPSecurity } catch (Exception ex) { - _logger.LogError(ex, "Can't verify local network from request with IP-address: {0}", string.Join(",", ips)); + _logger.ErrorCantVerifyLocalNetWork(string.Join(",", ips), ex); } return false;