Browse Source

Add Exception property to log messages

tags/docs-0.9
RogueException 9 years ago
parent
commit
cb9915f37e
3 changed files with 11 additions and 9 deletions
  1. +1
    -1
      src/Discord.Net/DiscordClient.Voice.cs
  2. +7
    -5
      src/Discord.Net/DiscordWSClient.Events.cs
  3. +3
    -3
      src/Discord.Net/DiscordWSClient.cs

+ 1
- 1
src/Discord.Net/DiscordClient.Voice.cs View File

@@ -40,7 +40,7 @@ namespace Discord
config.VoiceClientId = unchecked(++_nextVoiceClientId); config.VoiceClientId = unchecked(++_nextVoiceClientId);
return new DiscordWSClient(config, server.Id); return new DiscordWSClient(config, server.Id);
}); });
client.LogMessage += (s, e) => RaiseOnLog(e.Severity, e.Source, $"(#{client.Config.VoiceClientId}) {e.Message}");
client.LogMessage += (s, e) => RaiseOnLog(e.Severity, e.Source, $"(#{client.Config.VoiceClientId}) {e.Message}", e.Exception);
await client.Connect(_gateway, _token).ConfigureAwait(false); await client.Connect(_gateway, _token).ConfigureAwait(false);
return client; return client;
} }


+ 7
- 5
src/Discord.Net/DiscordWSClient.Events.cs View File

@@ -47,13 +47,15 @@ namespace Discord
public LogMessageSeverity Severity { get; } public LogMessageSeverity Severity { get; }
public LogMessageSource Source { get; } public LogMessageSource Source { get; }
public string Message { get; } public string Message { get; }
public Exception Exception { get; }


internal LogMessageEventArgs(LogMessageSeverity severity, LogMessageSource source, string msg)
internal LogMessageEventArgs(LogMessageSeverity severity, LogMessageSource source, string msg, Exception exception)
{ {
Severity = severity; Severity = severity;
Source = source; Source = source;
Message = msg;
}
Message = msg;
Exception = exception;
}
} }


public sealed class VoicePacketEventArgs public sealed class VoicePacketEventArgs
@@ -88,10 +90,10 @@ namespace Discord
RaiseEvent(nameof(Disconnected), () => Disconnected(this, e)); RaiseEvent(nameof(Disconnected), () => Disconnected(this, e));
} }
public event EventHandler<LogMessageEventArgs> LogMessage; public event EventHandler<LogMessageEventArgs> LogMessage;
internal void RaiseOnLog(LogMessageSeverity severity, LogMessageSource source, string message)
internal void RaiseOnLog(LogMessageSeverity severity, LogMessageSource source, string message, Exception exception = null)
{ {
if (LogMessage != null) if (LogMessage != null)
RaiseEvent(nameof(LogMessage), () => LogMessage(this, new LogMessageEventArgs(severity, source, message)));
RaiseEvent(nameof(LogMessage), () => LogMessage(this, new LogMessageEventArgs(severity, source, message, exception)));
} }


public event EventHandler VoiceConnected; public event EventHandler VoiceConnected;


+ 3
- 3
src/Discord.Net/DiscordWSClient.cs View File

@@ -82,7 +82,7 @@ namespace Discord


if (!_config.VoiceOnly) if (!_config.VoiceOnly)
{ {
socket.LogMessage += (s, e) => RaiseOnLog(e.Severity, LogMessageSource.DataWebSocket, e.Message);
socket.LogMessage += (s, e) => RaiseOnLog(e.Severity, LogMessageSource.DataWebSocket, e.Message, e.Exception);
if (_config.LogLevel >= LogMessageSeverity.Info) if (_config.LogLevel >= LogMessageSeverity.Info)
{ {
socket.Connected += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.DataWebSocket, "Connected"); socket.Connected += (s, e) => RaiseOnLog(LogMessageSeverity.Info, LogMessageSource.DataWebSocket, "Connected");
@@ -96,7 +96,7 @@ namespace Discord
internal virtual VoiceWebSocket CreateVoiceSocket() internal virtual VoiceWebSocket CreateVoiceSocket()
{ {
var socket = new VoiceWebSocket(this); var socket = new VoiceWebSocket(this);
socket.LogMessage += (s, e) => RaiseOnLog(e.Severity, LogMessageSource.VoiceWebSocket, e.Message);
socket.LogMessage += (s, e) => RaiseOnLog(e.Severity, LogMessageSource.VoiceWebSocket, e.Message, e.Exception);
socket.Connected += (s, e) => RaiseVoiceConnected(); socket.Connected += (s, e) => RaiseVoiceConnected();
socket.Disconnected += async (s, e) => socket.Disconnected += async (s, e) =>
{ {
@@ -288,7 +288,7 @@ namespace Discord
{ {
var ex2 = ex.GetBaseException(); var ex2 = ex.GetBaseException();
RaiseOnLog(LogMessageSeverity.Error, LogMessageSource.Client, RaiseOnLog(LogMessageSeverity.Error, LogMessageSource.Client,
$"{name}'s handler raised {ex2.GetType().Name}: ${ex2.Message}");
$"{name}'s handler raised {ex2.GetType().Name}: ${ex2.Message}", ex);
} }
} }




Loading…
Cancel
Save