Skip to content

Commit

Permalink
Merge pull request #41 from doingnz/develop-checki-client-connected-udp
Browse files Browse the repository at this point in the history
Check if the client still has connection before calling Send in a try/catch
  • Loading branch information
ctacke authored Mar 16, 2024
2 parents d28d2b4 + f840ce3 commit bfe7e92
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions Source/Meadow.Logging.LogProviders/Driver/UdpLogger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ namespace Meadow.Logging
public class UdpLogger : ILogProvider, IDisposable
{
private bool _isDisposed;
private int _port;
private UdpClient _client;
private IPEndPoint _broadcast;
private char _delimiter;
private readonly int _port;
private readonly UdpClient _client;
private readonly IPEndPoint _broadcast;
private readonly char _delimiter;

/// <summary>
/// Creates a UdpLogger instance
Expand All @@ -33,8 +33,18 @@ public UdpLogger(int port = 5100, char delimiter = '\t')
/// <inheritdoc/>
public void Log(LogLevel level, string message, string? _)
{
var payload = Encoding.UTF8.GetBytes($"{level}{_delimiter}{message}\n");
_client.Send(payload, payload.Length, _broadcast);
if (_client.Client.Connected)
{
var payload = Encoding.UTF8.GetBytes($"{level}{_delimiter}{message}\n");
try
{
_client.Send(payload, payload.Length, _broadcast);
}
catch
{
// TODO: ignore exceptions ?
}
}
}

/// <summary>
Expand Down

0 comments on commit bfe7e92

Please sign in to comment.