Skip to content

Commit 95ecea2

Browse files
committed
fix: use correct localizer
1 parent 181beb8 commit 95ecea2

File tree

4 files changed

+55
-68
lines changed

4 files changed

+55
-68
lines changed

src/GZCTF/Services/Container/Manager/DockerManager.cs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,19 @@
44
using GZCTF.Models.Internal;
55
using GZCTF.Services.Container.Provider;
66
using GZCTF.Services.Interface;
7-
using Microsoft.Extensions.Localization;
87
using ContainerStatus = GZCTF.Utils.ContainerStatus;
98

109
namespace GZCTF.Services.Container.Manager;
1110

1211
public class DockerManager : IContainerManager
1312
{
1413
readonly DockerClient _client;
15-
readonly IStringLocalizer<Program> _localizer;
1614
readonly ILogger<DockerManager> _logger;
1715
readonly DockerMetadata _meta;
1816

19-
public DockerManager(IContainerProvider<DockerClient, DockerMetadata> provider, ILogger<DockerManager> logger,
20-
IStringLocalizer<Program> localizer)
17+
public DockerManager(IContainerProvider<DockerClient, DockerMetadata> provider, ILogger<DockerManager> logger)
2118
{
2219
_logger = logger;
23-
_localizer = localizer;
2420
_meta = provider.GetMetadata();
2521
_client = provider.GetProvider();
2622

@@ -38,25 +34,25 @@ public async Task DestroyContainerAsync(Models.Data.Container container, Cancell
3834
catch (DockerContainerNotFoundException)
3935
{
4036
_logger.SystemLog(
41-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDestroyed), container.ContainerId],
37+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDestroyed), container.ContainerId],
4238
TaskStatus.Success, LogLevel.Debug);
4339
}
4440
catch (DockerApiException e)
4541
{
4642
if (e.StatusCode == HttpStatusCode.NotFound)
4743
{
4844
_logger.SystemLog(
49-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDestroyed), container.ContainerId],
45+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDestroyed), container.ContainerId],
5046
TaskStatus.Success, LogLevel.Debug);
5147
}
5248
else
5349
{
5450
_logger.SystemLog(
55-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedStatus),
51+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedStatus),
5652
container.ContainerId,
5753
e.StatusCode], TaskStatus.Failed, LogLevel.Warning);
5854
_logger.SystemLog(
59-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedResponse),
55+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedResponse),
6056
container.ContainerId,
6157
e.ResponseBody], TaskStatus.Failed, LogLevel.Error);
6258
return;
@@ -65,7 +61,7 @@ public async Task DestroyContainerAsync(Models.Data.Container container, Cancell
6561
catch (Exception e)
6662
{
6763
_logger.LogError(e,
68-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailed), container.ContainerId]);
64+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailed), container.ContainerId]);
6965
return;
7066
}
7167

@@ -90,7 +86,7 @@ public async Task DestroyContainerAsync(Models.Data.Container container, Cancell
9086
}
9187
catch (DockerImageNotFoundException)
9288
{
93-
_logger.SystemLog(_localizer[nameof(Resources.Program.ContainerManager_PullContainerImage), config.Image],
89+
_logger.SystemLog(Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_PullContainerImage), config.Image],
9490
TaskStatus.Pending, LogLevel.Information);
9591

9692
await _client.Images.CreateImageAsync(new() { FromImage = config.Image }, _meta.Auth,
@@ -102,7 +98,7 @@ await _client.Images.CreateImageAsync(new() { FromImage = config.Image }, _meta.
10298
catch (Exception e)
10399
{
104100
_logger.LogError(e,
105-
_localizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailed), parameters.Name]);
101+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailed), parameters.Name]);
106102
return null;
107103
}
108104

@@ -113,7 +109,7 @@ await _client.Images.CreateImageAsync(new() { FromImage = config.Image }, _meta.
113109
catch (Exception e)
114110
{
115111
_logger.LogError(e,
116-
_localizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailed), parameters.Name]);
112+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailed), parameters.Name]);
117113
return null;
118114
}
119115

@@ -129,7 +125,7 @@ await _client.Images.CreateImageAsync(new() { FromImage = config.Image }, _meta.
129125
if (retry == 3)
130126
{
131127
_logger.SystemLog(
132-
_localizer[nameof(Resources.Program.ContainerManager_ContainerInstanceStartFailed),
128+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerInstanceStartFailed),
133129
container.ContainerId[..12],
134130
config.Image.Split("/").LastOrDefault() ?? ""],
135131
TaskStatus.Failed, LogLevel.Warning);
@@ -151,7 +147,7 @@ await _client.Images.CreateImageAsync(new() { FromImage = config.Image }, _meta.
151147
if (container.Status != ContainerStatus.Running)
152148
{
153149
_logger.SystemLog(
154-
_localizer[nameof(Resources.Program.ContainerManager_ContainerInstanceCreationFailedWithError),
150+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerInstanceCreationFailedWithError),
155151
config.Image.Split("/").LastOrDefault() ?? "", info.State.Error],
156152
TaskStatus.Failed, LogLevel.Warning);
157153
return null;
@@ -173,7 +169,7 @@ await _client.Images.CreateImageAsync(new() { FromImage = config.Image }, _meta.
173169
if (int.TryParse(port, out var numPort))
174170
container.PublicPort = numPort;
175171
else
176-
_logger.SystemLog(_localizer[nameof(Resources.Program.ContainerManager_PortParsingFailed), port],
172+
_logger.SystemLog(Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_PortParsingFailed), port],
177173
TaskStatus.Failed,
178174
LogLevel.Warning);
179175

src/GZCTF/Services/Container/Manager/KubernetesManager.cs

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,17 @@ namespace GZCTF.Services.Container.Manager;
1212
public class KubernetesManager : IContainerManager
1313
{
1414
readonly Kubernetes _client;
15-
readonly IStringLocalizer<Program> _localizer;
1615
readonly ILogger<KubernetesManager> _logger;
1716
readonly KubernetesMetadata _meta;
1817

1918
public KubernetesManager(IContainerProvider<Kubernetes, KubernetesMetadata> provider,
20-
ILogger<KubernetesManager> logger,
21-
IStringLocalizer<Program> localizer)
19+
ILogger<KubernetesManager> logger)
2220
{
2321
_logger = logger;
24-
_localizer = localizer;
2522
_meta = provider.GetMetadata();
2623
_client = provider.GetProvider();
2724

28-
logger.SystemLog(_localizer[nameof(Resources.Program.ContainerManager_K8sMode)], TaskStatus.Success,
25+
logger.SystemLog(Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_K8sMode)], TaskStatus.Success,
2926
LogLevel.Debug);
3027
}
3128

@@ -38,7 +35,7 @@ public KubernetesManager(IContainerProvider<Kubernetes, KubernetesMetadata> prov
3835

3936
if (imageName is null)
4037
{
41-
_logger.SystemLog(_localizer[nameof(Resources.Program.ContainerManager_UnresolvedImageName), config.Image],
38+
_logger.SystemLog(Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_UnresolvedImageName), config.Image],
4239
TaskStatus.Failed, LogLevel.Warning);
4340
return null;
4441
}
@@ -105,25 +102,25 @@ config.Flag is null
105102
catch (HttpOperationException e)
106103
{
107104
_logger.SystemLog(
108-
_localizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailedStatus), name,
105+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailedStatus), name,
109106
e.Response.StatusCode],
110107
TaskStatus.Failed, LogLevel.Warning);
111108
_logger.SystemLog(
112-
_localizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailedResponse), name,
109+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailedResponse), name,
113110
e.Response.Content],
114111
TaskStatus.Failed, LogLevel.Error);
115112
return null;
116113
}
117114
catch (Exception e)
118115
{
119-
_logger.LogError(e, _localizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailed), name]);
116+
_logger.LogError(e, Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailed), name]);
120117
return null;
121118
}
122119

123120
if (pod is null)
124121
{
125122
_logger.SystemLog(
126-
_localizer[nameof(Resources.Program.ContainerManager_ContainerInstanceCreationFailed),
123+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerInstanceCreationFailed),
127124
config.Image.Split("/").LastOrDefault() ?? ""], TaskStatus.Failed,
128125
LogLevel.Warning);
129126
return null;
@@ -167,11 +164,11 @@ config.Flag is null
167164
}
168165

169166
_logger.SystemLog(
170-
_localizer[nameof(Resources.Program.ContainerManager_ServiceCreationFailedStatus), name,
167+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ServiceCreationFailedStatus), name,
171168
e.Response.StatusCode],
172169
TaskStatus.Failed, LogLevel.Warning);
173170
_logger.SystemLog(
174-
_localizer[nameof(Resources.Program.ContainerManager_ServiceCreationFailedResponse), name,
171+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ServiceCreationFailedResponse), name,
175172
e.Response.Content],
176173
TaskStatus.Failed, LogLevel.Error);
177174
return null;
@@ -188,7 +185,7 @@ config.Flag is null
188185
// ignored
189186
}
190187

191-
_logger.LogError(e, _localizer[nameof(Resources.Program.ContainerManager_ServiceCreationFailed), name]);
188+
_logger.LogError(e, Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ServiceCreationFailed), name]);
192189
return null;
193190
}
194191

@@ -224,18 +221,18 @@ await _client.CoreV1.DeleteNamespacedPodAsync(container.ContainerId, _meta.Confi
224221
}
225222

226223
_logger.SystemLog(
227-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedStatus),
224+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedStatus),
228225
container.ContainerId,
229226
e.Response.StatusCode], TaskStatus.Failed, LogLevel.Warning);
230227
_logger.SystemLog(
231-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedResponse),
228+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedResponse),
232229
container.ContainerId,
233230
e.Response.Content], TaskStatus.Failed, LogLevel.Error);
234231
}
235232
catch (Exception e)
236233
{
237234
_logger.LogError(e,
238-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailed), container.ContainerId]);
235+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailed), container.ContainerId]);
239236
return;
240237
}
241238

src/GZCTF/Services/Container/Manager/SwarmManager.cs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,23 @@
44
using GZCTF.Models.Internal;
55
using GZCTF.Services.Container.Provider;
66
using GZCTF.Services.Interface;
7-
using Microsoft.Extensions.Localization;
87
using ContainerStatus = GZCTF.Utils.ContainerStatus;
98

109
namespace GZCTF.Services.Container.Manager;
1110

1211
public class SwarmManager : IContainerManager
1312
{
1413
readonly DockerClient _client;
15-
readonly IStringLocalizer<Program> _localizer;
1614
readonly ILogger<SwarmManager> _logger;
1715
readonly DockerMetadata _meta;
1816

19-
public SwarmManager(IContainerProvider<DockerClient, DockerMetadata> provider, ILogger<SwarmManager> logger,
20-
IStringLocalizer<Program> localizer)
17+
public SwarmManager(IContainerProvider<DockerClient, DockerMetadata> provider, ILogger<SwarmManager> logger)
2118
{
2219
_logger = logger;
23-
_localizer = localizer;
2420
_meta = provider.GetMetadata();
2521
_client = provider.GetProvider();
2622

27-
logger.SystemLog(_localizer[nameof(Resources.Program.ContainerManager_SwarmMode)], TaskStatus.Success,
23+
logger.SystemLog(Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_SwarmMode)], TaskStatus.Success,
2824
LogLevel.Debug);
2925
}
3026

@@ -37,25 +33,25 @@ public async Task DestroyContainerAsync(Models.Data.Container container, Cancell
3733
catch (DockerContainerNotFoundException)
3834
{
3935
_logger.SystemLog(
40-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDestroyed), container.ContainerId],
36+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDestroyed), container.ContainerId],
4137
TaskStatus.Success, LogLevel.Debug);
4238
}
4339
catch (DockerApiException e)
4440
{
4541
if (e.StatusCode == HttpStatusCode.NotFound)
4642
{
4743
_logger.SystemLog(
48-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDestroyed), container.ContainerId],
44+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDestroyed), container.ContainerId],
4945
TaskStatus.Success, LogLevel.Debug);
5046
}
5147
else
5248
{
5349
_logger.SystemLog(
54-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedStatus),
50+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedStatus),
5551
container.ContainerId,
5652
e.StatusCode], TaskStatus.Failed, LogLevel.Warning);
5753
_logger.SystemLog(
58-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedResponse),
54+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailedResponse),
5955
container.ContainerId,
6056
e.ResponseBody], TaskStatus.Failed, LogLevel.Error);
6157
return;
@@ -64,7 +60,7 @@ public async Task DestroyContainerAsync(Models.Data.Container container, Cancell
6460
catch (Exception e)
6561
{
6662
_logger.LogError(e,
67-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailed), container.ContainerId]);
63+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailed), container.ContainerId]);
6864
return;
6965
}
7066

@@ -87,7 +83,7 @@ public async Task DestroyContainerAsync(Models.Data.Container container, Cancell
8783
if (e.StatusCode == HttpStatusCode.Conflict && retry < 3)
8884
{
8985
_logger.SystemLog(
90-
_localizer[nameof(Resources.Program.ContainerManager_ContainerExisted), parameters.Service.Name],
86+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerExisted), parameters.Service.Name],
9187
TaskStatus.Duplicate,
9288
LogLevel.Warning);
9389
await _client.Swarm.RemoveServiceAsync(parameters.Service.Name, token);
@@ -96,19 +92,19 @@ public async Task DestroyContainerAsync(Models.Data.Container container, Cancell
9692
}
9793

9894
_logger.SystemLog(
99-
_localizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailedStatus),
95+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailedStatus),
10096
parameters.Service.Name,
10197
e.StatusCode], TaskStatus.Failed, LogLevel.Warning);
10298
_logger.SystemLog(
103-
_localizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailedResponse),
99+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerCreationFailedResponse),
104100
parameters.Service.Name,
105101
e.ResponseBody], TaskStatus.Failed, LogLevel.Error);
106102
return null;
107103
}
108104
catch (Exception e)
109105
{
110106
_logger.LogError(e,
111-
_localizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailed),
107+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerDeletionFailed),
112108
parameters.Service.Name]);
113109
return null;
114110
}
@@ -124,7 +120,7 @@ public async Task DestroyContainerAsync(Models.Data.Container container, Cancell
124120
if (retry == 3)
125121
{
126122
_logger.SystemLog(
127-
_localizer[nameof(Resources.Program.ContainerManager_ContainerPortNotExposed),
123+
Program.StaticLocalizer[nameof(Resources.Program.ContainerManager_ContainerPortNotExposed),
128124
container.ContainerId],
129125
TaskStatus.Failed,
130126
LogLevel.Warning);

0 commit comments

Comments
 (0)