Skip to content

Commit

Permalink
Update logging to handle cases where client does not have a valid handle
Browse files Browse the repository at this point in the history
  • Loading branch information
Patrick Williams authored and kmcclellan committed Jan 3, 2023
1 parent b939ca7 commit 392dfe6
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions Confluent.Kafka.DependencyInjection/Logging/KafkaLogState.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ namespace Confluent.Kafka.DependencyInjection.Logging
{
readonly struct KafkaLogState : IReadOnlyList<KeyValuePair<string, object?>>
{
private const string DefaultName = "Unknown";

readonly IClient client;
readonly object? payload;

Expand All @@ -24,7 +26,7 @@ public KafkaLogState(IClient client, object? payload)
{
return index switch
{
0 => new("KafkaClient", client.Name),
0 => new("KafkaClient", GetClientName()),
1 => new("{OriginalMessage}", payload),
_ => throw new ArgumentOutOfRangeException(nameof(index)),
};
Expand All @@ -46,7 +48,11 @@ IEnumerator IEnumerable.GetEnumerator()

public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture, "[{0}] {1}", client.Name, payload);
return string.Format(CultureInfo.InvariantCulture, "[{0}] {1}", GetClientName(), payload);
}

private string GetClientName() => client.Handle is null || client.Handle.IsInvalid
? DefaultName
: client.Name;
}
}

0 comments on commit 392dfe6

Please sign in to comment.