Skip to content

Commit 1c329c6

Browse files
authored
Instead of creating logger once, create before every fetch (allow hacking in different logger factory instance) (#12)
1 parent 32da7b7 commit 1c329c6

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/W4k.Extensions.Configuration.Aws.SecretsManager/SecretsManagerConfigurationProvider.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ namespace W4k.Extensions.Configuration.Aws.SecretsManager;
1212
public sealed class SecretsManagerConfigurationProvider : ConfigurationProvider, ISecretsManagerConfigurationProvider
1313
{
1414
private readonly SecretFetcher _secretFetcher;
15-
private readonly ILogger _logger;
1615

1716
private int _reloadInProgress;
1817
private string? _currentSecretVersionId;
@@ -26,8 +25,6 @@ public SecretsManagerConfigurationProvider(SecretsManagerConfigurationSource sou
2625
ArgumentNullException.ThrowIfNull(source);
2726

2827
_secretFetcher = new SecretFetcher(source.SecretsManager);
29-
_logger = source.LoggerFactory.CreateLogger<SecretsManagerConfigurationProvider>();
30-
3128
Source = source;
3229
}
3330

@@ -47,6 +44,8 @@ public override void Load()
4744
var secretProcessor = Source.Processor;
4845
var watcher = Source.ConfigurationWatcher;
4946

47+
var logger = Source.LoggerFactory.CreateLogger<SecretsManagerConfigurationProvider>();
48+
5049
using var activity = ActivityDescriptors.Source.StartActivity(ActivityDescriptors.LoadActivityName);
5150
try
5251
{
@@ -64,7 +63,7 @@ public override void Load()
6463
.AddEvent(new ActivityEvent("loaded"))
6564
.SetStatus(ActivityStatusCode.Ok, "Secret loaded");
6665

67-
_logger.SecretLoaded(secretName, secret.VersionId);
66+
logger.SecretLoaded(secretName, secret.VersionId);
6867

6968
// requires initial load to succeed (even when secret is optional)
7069
watcher?.StartWatching(this);
@@ -81,7 +80,7 @@ public override void Load()
8180
.SetStatus(ActivityStatusCode.Error, "Error loading secret");
8281
#endif
8382

84-
_logger.FailedToLoadSecret(ex, secretName);
83+
logger.FailedToLoadSecret(ex, secretName);
8584
HandleException(ex, Source.OnLoadException);
8685
}
8786
}
@@ -98,6 +97,8 @@ public void Reload()
9897
var secretVersion = Source.Version;
9998
var secretProcessor = Source.Processor;
10099

100+
var logger = Source.LoggerFactory.CreateLogger<SecretsManagerConfigurationProvider>();
101+
101102
using var activity = ActivityDescriptors.Source.StartActivity(ActivityDescriptors.ReloadActivityName);
102103
try
103104
{
@@ -113,7 +114,7 @@ public void Reload()
113114
.AddEvent(new ActivityEvent("skipped"))
114115
.SetStatus(ActivityStatusCode.Ok, "Secret up-to-date");
115116

116-
_logger.SecretAlreadyLoaded(secretName, secret.VersionId);
117+
logger.SecretAlreadyLoaded(secretName, secret.VersionId);
117118
return;
118119
}
119120

@@ -126,7 +127,7 @@ public void Reload()
126127
.AddEvent(new ActivityEvent("reloaded"))
127128
.SetStatus(ActivityStatusCode.Ok, "Secret reloaded");
128129

129-
_logger.SecretRefreshed(secretName, previousVersionId ?? "N/A", secret.VersionId);
130+
logger.SecretRefreshed(secretName, previousVersionId ?? "N/A", secret.VersionId);
130131
}
131132
catch (Exception ex)
132133
{
@@ -140,7 +141,7 @@ public void Reload()
140141
.SetStatus(ActivityStatusCode.Error, "Error reloading secret");
141142
#endif
142143

143-
_logger.FailedToRefreshSecret(ex, secretName);
144+
logger.FailedToRefreshSecret(ex, secretName);
144145
HandleException(ex, Source.OnReloadException);
145146
}
146147
finally

0 commit comments

Comments
 (0)