Add Exception property to log messages
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user