Skip to content

Commit b81019d

Browse files
authored
chore(AdoNet): Use [LoggerMessage] (#9451)
* chore(AdoNet): Use [LoggerMessage] * chore(AdoNet): Use [LoggerMessage]
1 parent c41beed commit b81019d

File tree

3 files changed

+275
-157
lines changed

3 files changed

+275
-157
lines changed

src/AdoNet/Orleans.Clustering.AdoNet/Messaging/AdoNetClusteringTable.cs

Lines changed: 156 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace Orleans.Runtime.MembershipService
99
{
10-
public class AdoNetClusteringTable : IMembershipTable
10+
public partial class AdoNetClusteringTable : IMembershipTable
1111
{
1212
private readonly string clusterId;
1313
private readonly IServiceProvider serviceProvider;
@@ -29,66 +29,58 @@ public AdoNetClusteringTable(
2929

3030
public async Task InitializeMembershipTable(bool tryInitTableVersion)
3131
{
32-
if (logger.IsEnabled(LogLevel.Trace)) logger.LogTrace("AdoNetClusteringTable.InitializeMembershipTable called.");
32+
LogTraceInitializeMembershipTable();
3333

3434
//This initializes all of Orleans operational queries from the database using a well known view
3535
//and assumes the database with appropriate definitions exists already.
3636
orleansQueries = await RelationalOrleansQueries.CreateInstance(
3737
clusteringTableOptions.Invariant,
3838
clusteringTableOptions.ConnectionString);
3939

40-
// even if I am not the one who created the table,
40+
// even if I am not the one who created the table,
4141
// try to insert an initial table version if it is not already there,
4242
// so we always have a first table version row, before this silo starts working.
4343
if (tryInitTableVersion)
4444
{
4545
var wasCreated = await InitTableAsync();
4646
if (wasCreated)
4747
{
48-
logger.LogInformation("Created new table version row.");
48+
LogInfoCreatedNewTableVersionRow();
4949
}
5050
}
5151
}
5252

53-
5453
public async Task<MembershipTableData> ReadRow(SiloAddress key)
5554
{
56-
if (logger.IsEnabled(LogLevel.Trace))
57-
logger.LogTrace("AdoNetClusteringTable.ReadRow called with key: {Key}.", key);
55+
LogTraceReadRow(key);
5856
try
5957
{
6058
return await orleansQueries.MembershipReadRowAsync(this.clusterId, key);
6159
}
6260
catch (Exception ex)
6361
{
64-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug(ex, "AdoNetClusteringTable.ReadRow failed");
62+
LogDebugReadRowFailed(ex);
6563
throw;
6664
}
6765
}
6866

69-
7067
public async Task<MembershipTableData> ReadAll()
7168
{
72-
if (logger.IsEnabled(LogLevel.Trace)) logger.LogTrace("AdoNetClusteringTable.ReadAll called.");
69+
LogTraceReadAll();
7370
try
7471
{
7572
return await orleansQueries.MembershipReadAllAsync(this.clusterId);
7673
}
7774
catch (Exception ex)
7875
{
79-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug(ex, "AdoNetClusteringTable.ReadAll failed");
76+
LogDebugReadAllFailed(ex);
8077
throw;
8178
}
8279
}
8380

84-
8581
public async Task<bool> InsertRow(MembershipEntry entry, TableVersion tableVersion)
8682
{
87-
if (logger.IsEnabled(LogLevel.Trace))
88-
logger.LogTrace(
89-
"AdoNetClusteringTable.InsertRow called with entry {Entry} and tableVersion {TableVersion}.",
90-
entry,
91-
tableVersion);
83+
LogTraceInsertRow(entry, tableVersion);
9284

9385
//The "tableVersion" parameter should always exist when inserting a row as Init should
9486
//have been called and membership version created and read. This is an optimization to
@@ -97,12 +89,12 @@ public async Task<bool> InsertRow(MembershipEntry entry, TableVersion tableVersi
9789
//Likewise, no update can be done without membership entry.
9890
if (entry == null)
9991
{
100-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug("AdoNetClusteringTable.InsertRow aborted due to null check. MembershipEntry is null.");
92+
LogDebugInsertRowAbortedNullEntry();
10193
throw new ArgumentNullException(nameof(entry));
10294
}
10395
if (tableVersion is null)
10496
{
105-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug("AdoNetClusteringTable.InsertRow aborted due to null check. TableVersion is null ");
97+
LogDebugInsertRowAbortedNullTableVersion();
10698
throw new ArgumentNullException(nameof(tableVersion));
10799
}
108100

@@ -112,15 +104,14 @@ public async Task<bool> InsertRow(MembershipEntry entry, TableVersion tableVersi
112104
}
113105
catch (Exception ex)
114106
{
115-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug(ex, "AdoNetClusteringTable.InsertRow failed");
107+
LogDebugInsertRowFailed(ex);
116108
throw;
117109
}
118110
}
119111

120-
121112
public async Task<bool> UpdateRow(MembershipEntry entry, string etag, TableVersion tableVersion)
122113
{
123-
if (logger.IsEnabled(LogLevel.Trace)) logger.LogTrace("IMembershipTable.UpdateRow called with entry {Entry}, etag {ETag} and tableVersion {TableVersion}.", entry, etag, tableVersion);
114+
LogTraceUpdateRow(entry, etag, tableVersion);
124115

125116
//The "tableVersion" parameter should always exist when updating a row as Init should
126117
//have been called and membership version created and read. This is an optimization to
@@ -129,12 +120,12 @@ public async Task<bool> UpdateRow(MembershipEntry entry, string etag, TableVersi
129120
//Likewise, no update can be done without membership entry or an etag.
130121
if (entry == null)
131122
{
132-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug("AdoNetClusteringTable.UpdateRow aborted due to null check. MembershipEntry is null.");
123+
LogDebugUpdateRowAbortedNullEntry();
133124
throw new ArgumentNullException(nameof(entry));
134125
}
135126
if (tableVersion is null)
136127
{
137-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug("AdoNetClusteringTable.UpdateRow aborted due to null check. TableVersion is null");
128+
LogDebugUpdateRowAbortedNullTableVersion();
138129
throw new ArgumentNullException(nameof(tableVersion));
139130
}
140131

@@ -144,19 +135,17 @@ public async Task<bool> UpdateRow(MembershipEntry entry, string etag, TableVersi
144135
}
145136
catch (Exception ex)
146137
{
147-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug(ex, "AdoNetClusteringTable.UpdateRow failed");
138+
LogDebugUpdateRowFailed(ex);
148139
throw;
149140
}
150141
}
151142

152-
153143
public async Task UpdateIAmAlive(MembershipEntry entry)
154144
{
155-
if (logger.IsEnabled(LogLevel.Trace))
156-
logger.LogTrace("IMembershipTable.UpdateIAmAlive called with entry {Entry}.", entry);
145+
LogTraceUpdateIAmAlive(entry);
157146
if (entry == null)
158147
{
159-
if (logger.IsEnabled(LogLevel.Debug)) logger.LogDebug("AdoNetClusteringTable.UpdateIAmAlive aborted due to null check. MembershipEntry is null.");
148+
LogDebugUpdateIAmAliveAbortedNullEntry();
160149
throw new ArgumentNullException(nameof(entry));
161150
}
162151
try
@@ -165,41 +154,35 @@ public async Task UpdateIAmAlive(MembershipEntry entry)
165154
}
166155
catch (Exception ex)
167156
{
168-
if (logger.IsEnabled(LogLevel.Debug))
169-
logger.LogDebug(ex, "AdoNetClusteringTable.UpdateIAmAlive failed");
157+
LogDebugUpdateIAmAliveFailed(ex);
170158
throw;
171159
}
172160
}
173161

174-
175162
public async Task DeleteMembershipTableEntries(string clusterId)
176163
{
177-
if (logger.IsEnabled(LogLevel.Trace))
178-
logger.LogTrace("IMembershipTable.DeleteMembershipTableEntries called with clusterId {ClusterId}.", clusterId);
164+
LogTraceDeleteMembershipTableEntries(clusterId);
179165
try
180166
{
181167
await orleansQueries.DeleteMembershipTableEntriesAsync(clusterId);
182168
}
183169
catch (Exception ex)
184170
{
185-
if (logger.IsEnabled(LogLevel.Debug))
186-
logger.LogDebug(ex, "AdoNetClusteringTable.DeleteMembershipTableEntries failed");
171+
LogDebugDeleteMembershipTableEntriesFailed(ex);
187172
throw;
188173
}
189174
}
190175

191176
public async Task CleanupDefunctSiloEntries(DateTimeOffset beforeDate)
192177
{
193-
if (logger.IsEnabled(LogLevel.Trace))
194-
logger.LogTrace("IMembershipTable.CleanupDefunctSiloEntries called with beforeDate {beforeDate} and clusterId {ClusterId}.", beforeDate, clusterId);
178+
LogTraceCleanupDefunctSiloEntries(beforeDate, clusterId);
195179
try
196180
{
197181
await orleansQueries.CleanupDefunctSiloEntriesAsync(beforeDate, this.clusterId);
198182
}
199183
catch (Exception ex)
200184
{
201-
if (logger.IsEnabled(LogLevel.Debug))
202-
logger.LogDebug(ex, "AdoNetClusteringTable.CleanupDefunctSiloEntries failed");
185+
LogDebugCleanupDefunctSiloEntriesFailed(ex);
203186
throw;
204187
}
205188
}
@@ -212,9 +195,141 @@ private async Task<bool> InitTableAsync()
212195
}
213196
catch (Exception ex)
214197
{
215-
if (logger.IsEnabled(LogLevel.Trace)) logger.LogTrace(ex, "Insert silo membership version failed");
198+
LogTraceInsertSiloMembershipVersionFailed(ex);
216199
throw;
217200
}
218201
}
202+
203+
[LoggerMessage(
204+
Level = LogLevel.Trace,
205+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(InitializeMembershipTable)} called."
206+
)]
207+
private partial void LogTraceInitializeMembershipTable();
208+
209+
[LoggerMessage(
210+
Level = LogLevel.Information,
211+
Message = "Created new table version row."
212+
)]
213+
private partial void LogInfoCreatedNewTableVersionRow();
214+
215+
[LoggerMessage(
216+
Level = LogLevel.Trace,
217+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(ReadRow)} called with key: {{Key}}."
218+
)]
219+
private partial void LogTraceReadRow(SiloAddress key);
220+
221+
[LoggerMessage(
222+
Level = LogLevel.Debug,
223+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(ReadRow)} failed"
224+
)]
225+
private partial void LogDebugReadRowFailed(Exception exception);
226+
227+
[LoggerMessage(
228+
Level = LogLevel.Trace,
229+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(ReadAll)} called."
230+
)]
231+
private partial void LogTraceReadAll();
232+
233+
[LoggerMessage(
234+
Level = LogLevel.Debug,
235+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(ReadAll)} failed"
236+
)]
237+
private partial void LogDebugReadAllFailed(Exception exception);
238+
239+
[LoggerMessage(
240+
Level = LogLevel.Trace,
241+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(InsertRow)} called with entry {{Entry}} and tableVersion {{TableVersion}}."
242+
)]
243+
private partial void LogTraceInsertRow(MembershipEntry entry, TableVersion tableVersion);
244+
245+
[LoggerMessage(
246+
Level = LogLevel.Debug,
247+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(InsertRow)} aborted due to null check. MembershipEntry is null."
248+
)]
249+
private partial void LogDebugInsertRowAbortedNullEntry();
250+
251+
[LoggerMessage(
252+
Level = LogLevel.Debug,
253+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(InsertRow)} aborted due to null check. TableVersion is null "
254+
)]
255+
private partial void LogDebugInsertRowAbortedNullTableVersion();
256+
257+
[LoggerMessage(
258+
Level = LogLevel.Debug,
259+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(InsertRow)} failed"
260+
)]
261+
private partial void LogDebugInsertRowFailed(Exception exception);
262+
263+
[LoggerMessage(
264+
Level = LogLevel.Trace,
265+
Message = $"{nameof(IMembershipTable)}.{nameof(UpdateRow)} called with entry {{Entry}}, etag {{ETag}} and tableVersion {{TableVersion}}."
266+
)]
267+
private partial void LogTraceUpdateRow(MembershipEntry entry, string etag, TableVersion tableVersion);
268+
269+
[LoggerMessage(
270+
Level = LogLevel.Debug,
271+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(UpdateRow)} aborted due to null check. MembershipEntry is null."
272+
)]
273+
private partial void LogDebugUpdateRowAbortedNullEntry();
274+
275+
[LoggerMessage(
276+
Level = LogLevel.Debug,
277+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(UpdateRow)} aborted due to null check. TableVersion is null"
278+
)]
279+
private partial void LogDebugUpdateRowAbortedNullTableVersion();
280+
281+
[LoggerMessage(
282+
Level = LogLevel.Debug,
283+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(UpdateRow)} failed"
284+
)]
285+
private partial void LogDebugUpdateRowFailed(Exception exception);
286+
287+
[LoggerMessage(
288+
Level = LogLevel.Trace,
289+
Message = $"{nameof(IMembershipTable)}.{nameof(UpdateIAmAlive)} called with entry {{Entry}}."
290+
)]
291+
private partial void LogTraceUpdateIAmAlive(MembershipEntry entry);
292+
293+
[LoggerMessage(
294+
Level = LogLevel.Debug,
295+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(UpdateIAmAlive)} aborted due to null check. MembershipEntry is null."
296+
)]
297+
private partial void LogDebugUpdateIAmAliveAbortedNullEntry();
298+
299+
[LoggerMessage(
300+
Level = LogLevel.Debug,
301+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(UpdateIAmAlive)} failed"
302+
)]
303+
private partial void LogDebugUpdateIAmAliveFailed(Exception exception);
304+
305+
[LoggerMessage(
306+
Level = LogLevel.Trace,
307+
Message = $"{nameof(IMembershipTable)}.{nameof(DeleteMembershipTableEntries)} called with clusterId {{ClusterId}}."
308+
)]
309+
private partial void LogTraceDeleteMembershipTableEntries(string clusterId);
310+
311+
[LoggerMessage(
312+
Level = LogLevel.Debug,
313+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(DeleteMembershipTableEntries)} failed"
314+
)]
315+
private partial void LogDebugDeleteMembershipTableEntriesFailed(Exception exception);
316+
317+
[LoggerMessage(
318+
Level = LogLevel.Trace,
319+
Message = $"{nameof(IMembershipTable)}.{nameof(CleanupDefunctSiloEntries)} called with beforeDate {{beforeDate}} and clusterId {{ClusterId}}."
320+
)]
321+
private partial void LogTraceCleanupDefunctSiloEntries(DateTimeOffset beforeDate, string clusterId);
322+
323+
[LoggerMessage(
324+
Level = LogLevel.Debug,
325+
Message = $"{nameof(AdoNetClusteringTable)}.{nameof(CleanupDefunctSiloEntries)} failed"
326+
)]
327+
private partial void LogDebugCleanupDefunctSiloEntriesFailed(Exception exception);
328+
329+
[LoggerMessage(
330+
Level = LogLevel.Trace,
331+
Message = "Insert silo membership version failed"
332+
)]
333+
private partial void LogTraceInsertSiloMembershipVersionFailed(Exception exception);
219334
}
220335
}

0 commit comments

Comments
 (0)