From b6b0a4dbbd5e371d66718bd0fc9b7817f17f35b5 Mon Sep 17 00:00:00 2001 From: RogueException Date: Thu, 17 Aug 2017 03:16:53 -0300 Subject: [PATCH] Updated RPC and Webhooks to use the new serializer events --- src/Discord.Net.Rpc/DiscordRpcClient.cs | 12 +++++++++--- src/Discord.Net.Webhook/DiscordWebhookClient.cs | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/Discord.Net.Rpc/DiscordRpcClient.cs b/src/Discord.Net.Rpc/DiscordRpcClient.cs index 6708c8803..8c04bb265 100644 --- a/src/Discord.Net.Rpc/DiscordRpcClient.cs +++ b/src/Discord.Net.Rpc/DiscordRpcClient.cs @@ -39,10 +39,16 @@ namespace Discord.Rpc _rpcLogger = LogManager.CreateLogger("RPC"); _serializer = DiscordRpcJsonSerializer.Global.CreateScope(); - _serializer.Error += ex => + if (config.LogLevel >= LogSeverity.Warning) { - _rpcLogger.WarningAsync("Serializer Error", ex).GetAwaiter().GetResult(); - }; + _serializer.ModelError += (path, ex) + => _rpcLogger.WarningAsync($"Failed to deserialize {path}", ex).GetAwaiter().GetResult(); + } + if (config.LogLevel >= LogSeverity.Debug) + { + _serializer.UnmappedProperty += path + => _rpcLogger.DebugAsync($"Unmapped property: {path}"); + } SetApiClient(new API.DiscordRpcApiClient(clientId, DiscordRestConfig.UserAgent, origin, config.RestClientProvider, config.WebSocketProvider, _serializer)); ApiClient.SentRpcMessage += async opCode => await _rpcLogger.DebugAsync($"Sent {opCode}").ConfigureAwait(false); diff --git a/src/Discord.Net.Webhook/DiscordWebhookClient.cs b/src/Discord.Net.Webhook/DiscordWebhookClient.cs index fb93d4917..a3bb9bd9c 100644 --- a/src/Discord.Net.Webhook/DiscordWebhookClient.cs +++ b/src/Discord.Net.Webhook/DiscordWebhookClient.cs @@ -31,10 +31,16 @@ namespace Discord.Webhook _webhookId = webhookId; _serializer = DiscordRestJsonSerializer.Global.CreateScope(); - _serializer.Error += ex => + if (config.LogLevel >= LogSeverity.Warning) { - _restLogger.WarningAsync("Serializer Error", ex).GetAwaiter().GetResult(); - }; + _serializer.ModelError += (path, ex) + => _restLogger.WarningAsync($"Failed to deserialize {path}", ex).GetAwaiter().GetResult(); + } + if (config.LogLevel >= LogSeverity.Debug) + { + _serializer.UnmappedProperty += path + => _restLogger.DebugAsync($"Unmapped property: {path}"); + } ApiClient = new API.DiscordRestApiClient(config.RestClientProvider, DiscordRestConfig.UserAgent, _serializer); LogManager = new LogManager(config.LogLevel);