diff --git a/src/Lavalink4NET/AudioServiceBase.cs b/src/Lavalink4NET/AudioServiceBase.cs index 77e5cf7d..e45fa976 100644 --- a/src/Lavalink4NET/AudioServiceBase.cs +++ b/src/Lavalink4NET/AudioServiceBase.cs @@ -268,6 +268,11 @@ private async ValueTask RunAsync(CancellationToken cancellationToken = default) var clientInformation = await clientTask.ConfigureAwait(false); await RunInternalAsync(clientInformation, cancellationToken).ConfigureAwait(false); } + catch (Exception exception) + { + _logger.AudioServiceError(exception); + throw; + } finally { _logger.AudioServiceStopped(); @@ -337,4 +342,7 @@ internal static partial class Logging [LoggerMessage(6, LogLevel.Information, "Audio Service is ready ({Duration}ms).", EventName = nameof(AudioServiceIsReady))] public static partial void AudioServiceIsReady(this ILogger logger, long duration); + + [LoggerMessage(7, LogLevel.Error, "The audio Service entered a failure state.", EventName = nameof(AudioServiceError))] + public static partial void AudioServiceError(this ILogger logger, Exception exception); } \ No newline at end of file diff --git a/src/Lavalink4NET/LavalinkNode.cs b/src/Lavalink4NET/LavalinkNode.cs index fa6af790..cf502dac 100644 --- a/src/Lavalink4NET/LavalinkNode.cs +++ b/src/Lavalink4NET/LavalinkNode.cs @@ -427,6 +427,7 @@ public async ValueTask RunAsync(ClientInformation clientInformation, Cancellatio catch (Exception exception) { _readyTaskCompletionSource.TrySetException(exception); + _logger.LogError(exception, "An exception occurred while running the Lavalink node."); throw; } finally