From 2c857f7dd3a0bd77b689bacfd469cec081d4358c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 18 Dec 2019 15:19:54 +0300 Subject: [PATCH] added log to PermissionStore --- .../Abp/PermissionManagement/PermissionStore.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionStore.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionStore.cs index c312a094e7..f4bd3446a8 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionStore.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionStore.cs @@ -1,4 +1,6 @@ using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; using Volo.Abp.Authorization.Permissions; using Volo.Abp.Caching; using Volo.Abp.DependencyInjection; @@ -11,12 +13,15 @@ namespace Volo.Abp.PermissionManagement protected IDistributedCache Cache { get; } + protected ILogger Logger { get; set; } + public PermissionStore( IPermissionGrantRepository permissionGrantRepository, IDistributedCache cache) { PermissionGrantRepository = permissionGrantRepository; Cache = cache; + Logger = NullLogger.Instance; } public async Task IsGrantedAsync(string name, string providerName, string providerKey) @@ -26,24 +31,33 @@ namespace Volo.Abp.PermissionManagement protected virtual async Task GetCacheItemAsync(string name, string providerName, string providerKey) { + Logger.LogDebug($"PermissionStore.GetCacheItemAsync: name={name}, providerName={providerName}, providerKey={providerKey}"); + var cacheKey = CalculateCacheKey(name, providerName, providerKey); var cacheItem = await Cache.GetAsync(cacheKey); if (cacheItem != null) { + Logger.LogDebug("Found in the cache."); return cacheItem; } + Logger.LogDebug("Not found in the cache, getting from the repository!"); + cacheItem = new PermissionGrantCacheItem( name, await PermissionGrantRepository.FindAsync(name, providerName, providerKey) != null ); + Logger.LogDebug("Setting the cache item."); + await Cache.SetAsync( cacheKey, cacheItem ); + Logger.LogDebug("Finished setting the cache item."); + return cacheItem; }