From 7986b819ee0a4b428ad5e1e7dccf666839fe5c58 Mon Sep 17 00:00:00 2001 From: RogueException Date: Fri, 11 Dec 2015 09:07:03 -0400 Subject: [PATCH] Added logging shortcuts, simplied log messages --- src/Discord.Net.Audio/DiscordAudioClient.cs | 2 +- .../Net/WebSockets/VoiceWebSocket.cs | 6 +- src/Discord.Net.Audio/Opus/Enums.cs | 6 +- src/Discord.Net.Shared/EventHelper.cs | 2 +- src/Discord.Net/DiscordClient.cs | 123 +++++++----------- src/Discord.Net/DiscordConfig.cs | 4 +- .../Net/WebSockets/GatewaySocket.cs | 2 +- src/Discord.Net/Net/WebSockets/WebSocket.cs | 14 +- src/Discord.Net/Services/LogService.cs | 14 +- 9 files changed, 79 insertions(+), 94 deletions(-) diff --git a/src/Discord.Net.Audio/DiscordAudioClient.cs b/src/Discord.Net.Audio/DiscordAudioClient.cs index eecbe0749..f8a97a46f 100644 --- a/src/Discord.Net.Audio/DiscordAudioClient.cs +++ b/src/Discord.Net.Audio/DiscordAudioClient.cs @@ -82,7 +82,7 @@ namespace Discord.Audio } catch (Exception ex) { - _gatewaySocket.Logger.Log(LogSeverity.Error, $"Error handling {e.Type} event", ex); + _gatewaySocket.Logger.Error($"Error handling {e.Type} event", ex); } }; } diff --git a/src/Discord.Net.Audio/Net/WebSockets/VoiceWebSocket.cs b/src/Discord.Net.Audio/Net/WebSockets/VoiceWebSocket.cs index 1ccf3f8db..3e8dba909 100644 --- a/src/Discord.Net.Audio/Net/WebSockets/VoiceWebSocket.cs +++ b/src/Discord.Net.Audio/Net/WebSockets/VoiceWebSocket.cs @@ -84,7 +84,7 @@ namespace Discord.Net.WebSockets catch (OperationCanceledException) { throw; } catch (Exception ex) { - _logger.Log(LogSeverity.Error, "Reconnect failed", ex); + _logger.Error("Reconnect failed", ex); //Net is down? We can keep trying to reconnect until the user runs Disconnect() await Task.Delay(_config.FailedReconnectDelay, cancelToken).ConfigureAwait(false); } @@ -362,7 +362,7 @@ namespace Discord.Net.WebSockets } catch (SocketException ex) { - _logger.Log(LogSeverity.Error, "Failed to send UDP packet.", ex); + _logger.Error("Failed to send UDP packet.", ex); } hasFrame = false; } @@ -469,7 +469,7 @@ namespace Discord.Net.WebSockets break; default: if (_logger.Level >= LogSeverity.Warning) - _logger.Log(LogSeverity.Warning, $"Unknown Opcode: {opCode}"); + _logger.Warning($"Unknown Opcode: {opCode}"); break; } } diff --git a/src/Discord.Net.Audio/Opus/Enums.cs b/src/Discord.Net.Audio/Opus/Enums.cs index 2a705f746..2ead1de24 100644 --- a/src/Discord.Net.Audio/Opus/Enums.cs +++ b/src/Discord.Net.Audio/Opus/Enums.cs @@ -1,8 +1,4 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace Discord.Audio.Opus +namespace Discord.Audio.Opus { internal enum OpusCtl : int { diff --git a/src/Discord.Net.Shared/EventHelper.cs b/src/Discord.Net.Shared/EventHelper.cs index 61c6bb806..264930199 100644 --- a/src/Discord.Net.Shared/EventHelper.cs +++ b/src/Discord.Net.Shared/EventHelper.cs @@ -10,7 +10,7 @@ namespace Discord catch (Exception ex) { var ex2 = ex.GetBaseException(); - logger.Log(LogSeverity.Error, $"{name}'s handler raised {ex2.GetType().Name}: ${ex2.Message}", ex); + logger.Error($"{name}'s handler raised {ex2.GetType().Name}: ${ex2.Message}", ex); } } } diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index 0710bdcba..53ffd35cf 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -169,59 +169,34 @@ namespace Discord _logger = _log.CreateLogger("Client"); if (_logger.Level >= LogSeverity.Info) { - JoinedServer += (s, e) => _logger.Log(LogSeverity.Info, - $"Server Created: {e.Server?.Name ?? "[Private]"}"); - LeftServer += (s, e) => _logger.Log(LogSeverity.Info, - $"Server Destroyed: {e.Server?.Name ?? "[Private]"}"); - ServerUpdated += (s, e) => _logger.Log(LogSeverity.Info, - $"Server Updated: {e.Server?.Name ?? "[Private]"}"); - ServerAvailable += (s, e) => _logger.Log(LogSeverity.Info, - $"Server Available: {e.Server?.Name ?? "[Private]"}"); - ServerUnavailable += (s, e) => _logger.Log(LogSeverity.Info, - $"Server Unavailable: {e.Server?.Name ?? "[Private]"}"); - ChannelCreated += (s, e) => _logger.Log(LogSeverity.Info, - $"Channel Created: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}"); - ChannelDestroyed += (s, e) => _logger.Log(LogSeverity.Info, - $"Channel Destroyed: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}"); - ChannelUpdated += (s, e) => _logger.Log(LogSeverity.Info, - $"Channel Updated: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}"); - MessageReceived += (s, e) => _logger.Log(LogSeverity.Info, - $"Message Received: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); - MessageDeleted += (s, e) => _logger.Log(LogSeverity.Info, - $"Message Deleted: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); - MessageUpdated += (s, e) => _logger.Log(LogSeverity.Info, - $"Message Update: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); - RoleCreated += (s, e) => _logger.Log(LogSeverity.Info, - $"Role Created: {e.Server?.Name ?? "[Private]"}/{e.Role?.Name}"); - RoleUpdated += (s, e) => _logger.Log(LogSeverity.Info, - $"Role Updated: {e.Server?.Name ?? "[Private]"}/{e.Role?.Name}"); - RoleDeleted += (s, e) => _logger.Log(LogSeverity.Info, - $"Role Deleted: {e.Server?.Name ?? "[Private]"}/{e.Role?.Name}"); - UserBanned += (s, e) => _logger.Log(LogSeverity.Info, - $"Banned User: {e.Server?.Name ?? "[Private]" }/{e.UserId}"); - UserUnbanned += (s, e) => _logger.Log(LogSeverity.Info, - $"Unbanned User: {e.Server?.Name ?? "[Private]"}/{e.UserId}"); - UserJoined += (s, e) => _logger.Log(LogSeverity.Info, - $"User Joined: {e.Server?.Name ?? "[Private]"}/{e.User.Name}"); - UserLeft += (s, e) => _logger.Log(LogSeverity.Info, - $"User Left: {e.Server?.Name ?? "[Private]"}/{e.User.Name}"); - UserUpdated += (s, e) => _logger.Log(LogSeverity.Info, - $"User Updated: {e.Server?.Name ?? "[Private]"}/{e.User.Name}"); - UserVoiceStateUpdated += (s, e) => _logger.Log(LogSeverity.Info, - $"User Updated (Voice): {e.Server?.Name ?? "[Private]"}/{e.User.Name}"); - ProfileUpdated += (s, e) => _logger.Log(LogSeverity.Info, - "Profile Updated"); + JoinedServer += (s, e) => _logger.Info($"Server Created: {e.Server?.Name ?? "[Private]"}"); + LeftServer += (s, e) => _logger.Info($"Server Destroyed: {e.Server?.Name ?? "[Private]"}"); + ServerUpdated += (s, e) => _logger.Info($"Server Updated: {e.Server?.Name ?? "[Private]"}"); + ServerAvailable += (s, e) => _logger.Info($"Server Available: {e.Server?.Name ?? "[Private]"}"); + ServerUnavailable += (s, e) => _logger.Info($"Server Unavailable: {e.Server?.Name ?? "[Private]"}"); + ChannelCreated += (s, e) => _logger.Info($"Channel Created: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}"); + ChannelDestroyed += (s, e) => _logger.Info($"Channel Destroyed: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}"); + ChannelUpdated += (s, e) => _logger.Info($"Channel Updated: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}"); + MessageReceived += (s, e) => _logger.Info($"Message Received: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); + MessageDeleted += (s, e) => _logger.Info($"Message Deleted: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); + MessageUpdated += (s, e) => _logger.Info($"Message Update: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); + RoleCreated += (s, e) => _logger.Info($"Role Created: {e.Server?.Name ?? "[Private]"}/{e.Role?.Name}"); + RoleUpdated += (s, e) => _logger.Info($"Role Updated: {e.Server?.Name ?? "[Private]"}/{e.Role?.Name}"); + RoleDeleted += (s, e) => _logger.Info($"Role Deleted: {e.Server?.Name ?? "[Private]"}/{e.Role?.Name}"); + UserBanned += (s, e) => _logger.Info($"Banned User: {e.Server?.Name ?? "[Private]" }/{e.UserId}"); + UserUnbanned += (s, e) => _logger.Info($"Unbanned User: {e.Server?.Name ?? "[Private]"}/{e.UserId}"); + UserJoined += (s, e) => _logger.Info($"User Joined: {e.Server?.Name ?? "[Private]"}/{e.User.Name}"); + UserLeft += (s, e) => _logger.Info($"User Left: {e.Server?.Name ?? "[Private]"}/{e.User.Name}"); + UserUpdated += (s, e) => _logger.Info($"User Updated: {e.Server?.Name ?? "[Private]"}/{e.User.Name}"); + UserVoiceStateUpdated += (s, e) => _logger.Info($"Voice Updated: {e.Server?.Name ?? "[Private]"}/{e.User.Name}"); + ProfileUpdated += (s, e) => _logger.Info("Profile Updated"); } if (_log.Level >= LogSeverity.Verbose) { - UserIsTypingUpdated += (s, e) => _logger.Log(LogSeverity.Verbose, - $"User Updated (Typing): {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.User?.Name}"); - MessageAcknowledged += (s, e) => _logger.Log(LogSeverity.Verbose, - $"Ack'd Message: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); - MessageSent += (s, e) => _logger.Log(LogSeverity.Verbose, - $"Sent Message: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); - UserPresenceUpdated += (s, e) => _logger.Log(LogSeverity.Verbose, - $"User Updated (Presence): {e.Server?.Name ?? "[Private]"}/{e.User?.Name}"); + UserIsTypingUpdated += (s, e) => _logger.Verbose($"Is Typing: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.User?.Name}"); + MessageAcknowledged += (s, e) => _logger.Verbose($"Ack Message: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); + MessageSent += (s, e) => _logger.Verbose($"Sent Message: {e.Server?.Name ?? "[Private]"}/{e.Channel?.Name}/{e.Message?.Id}"); + UserPresenceUpdated += (s, e) => _logger.Verbose($"Presence Updated: {e.Server?.Name ?? "[Private]"}/{e.User?.Name}"); } } private void CreateRestLogger() @@ -232,9 +207,9 @@ namespace Discord _api.RestClient.OnRequest += (s, e) => { if (e.Payload != null) - _restLogger.Log(LogSeverity.Verbose, $"{e.Method} {e.Path}: {Math.Round(e.ElapsedMilliseconds, 2)} ms ({e.Payload})"); + _restLogger.Verbose( $"{e.Method} {e.Path}: {Math.Round(e.ElapsedMilliseconds, 2)} ms ({e.Payload})"); else - _restLogger.Log(LogSeverity.Verbose, $"{e.Method} {e.Path}: {Math.Round(e.ElapsedMilliseconds, 2)} ms"); + _restLogger.Verbose( $"{e.Method} {e.Path}: {Math.Round(e.ElapsedMilliseconds, 2)} ms"); }; } } @@ -243,25 +218,25 @@ namespace Discord _cacheLogger = _log.CreateLogger("Cache"); if (_log.Level >= LogSeverity.Debug) { - _channels.ItemCreated += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Created Channel {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); - _channels.ItemDestroyed += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Destroyed Channel {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); - _channels.Cleared += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Cleared Channels"); - _users.ItemCreated += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Created User {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); - _users.ItemDestroyed += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Destroyed User {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); - _users.Cleared += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Cleared Users"); - _messages.ItemCreated += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Created Message {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Channel.Id}/{e.Item.Id}"); - _messages.ItemDestroyed += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Destroyed Message {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Channel.Id}/{e.Item.Id}"); - _messages.ItemRemapped += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Remapped Message {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Channel.Id}/[{e.OldId} -> {e.NewId}]"); - _messages.Cleared += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Cleared Messages"); - _roles.ItemCreated += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Created Role {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); - _roles.ItemDestroyed += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Destroyed Role {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); - _roles.Cleared += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Cleared Roles"); - _servers.ItemCreated += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Created Server {e.Item.Id}"); - _servers.ItemDestroyed += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Destroyed Server {e.Item.Id}"); - _servers.Cleared += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Cleared Servers"); - _globalUsers.ItemCreated += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Created User {e.Item.Id}"); - _globalUsers.ItemDestroyed += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Destroyed User {e.Item.Id}"); - _globalUsers.Cleared += (s, e) => _cacheLogger.Log(LogSeverity.Debug, $"Cleared Users"); + _channels.ItemCreated += (s, e) => _cacheLogger.Debug( $"Created Channel {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); + _channels.ItemDestroyed += (s, e) => _cacheLogger.Debug( $"Destroyed Channel {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); + _channels.Cleared += (s, e) => _cacheLogger.Debug( $"Cleared Channels"); + _users.ItemCreated += (s, e) => _cacheLogger.Debug( $"Created User {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); + _users.ItemDestroyed += (s, e) => _cacheLogger.Debug( $"Destroyed User {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); + _users.Cleared += (s, e) => _cacheLogger.Debug( $"Cleared Users"); + _messages.ItemCreated += (s, e) => _cacheLogger.Debug( $"Created Message {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Channel.Id}/{e.Item.Id}"); + _messages.ItemDestroyed += (s, e) => _cacheLogger.Debug( $"Destroyed Message {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Channel.Id}/{e.Item.Id}"); + _messages.ItemRemapped += (s, e) => _cacheLogger.Debug( $"Remapped Message {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Channel.Id}/[{e.OldId} -> {e.NewId}]"); + _messages.Cleared += (s, e) => _cacheLogger.Debug( $"Cleared Messages"); + _roles.ItemCreated += (s, e) => _cacheLogger.Debug( $"Created Role {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); + _roles.ItemDestroyed += (s, e) => _cacheLogger.Debug( $"Destroyed Role {IdConvert.ToString(e.Item.Server?.Id) ?? "[Private]"}/{e.Item.Id}"); + _roles.Cleared += (s, e) => _cacheLogger.Debug( $"Cleared Roles"); + _servers.ItemCreated += (s, e) => _cacheLogger.Debug( $"Created Server {e.Item.Id}"); + _servers.ItemDestroyed += (s, e) => _cacheLogger.Debug( $"Destroyed Server {e.Item.Id}"); + _servers.Cleared += (s, e) => _cacheLogger.Debug( $"Cleared Servers"); + _globalUsers.ItemCreated += (s, e) => _cacheLogger.Debug( $"Created User {e.Item.Id}"); + _globalUsers.ItemDestroyed += (s, e) => _cacheLogger.Debug( $"Destroyed User {e.Item.Id}"); + _globalUsers.Cleared += (s, e) => _cacheLogger.Debug( $"Cleared Users"); } } @@ -280,7 +255,7 @@ namespace Discord _token = response.Token; _api.Token = response.Token; if (_config.LogLevel >= LogSeverity.Verbose) - _logger.Log(LogSeverity.Verbose, "Login successful, got token."); + _logger.Verbose( "Login successful, got token."); await BeginConnect(); return response.Token; @@ -308,7 +283,7 @@ namespace Discord var gatewayResponse = await _api.Gateway().ConfigureAwait(false); string gateway = gatewayResponse.Url; if (_config.LogLevel >= LogSeverity.Verbose) - _logger.Log(LogSeverity.Verbose, $"Websocket endpoint: {gateway}"); + _logger.Verbose( $"Websocket endpoint: {gateway}"); _disconnectedEvent.Reset(); @@ -827,7 +802,7 @@ namespace Discord private void SendInitialLog() { if (_config.LogLevel >= LogSeverity.Verbose) - _logger.Log(LogSeverity.Verbose, $"Config: {JsonConvert.SerializeObject(_config)}"); + _logger.Verbose( $"Config: {JsonConvert.SerializeObject(_config)}"); _sentInitialLog = true; } diff --git a/src/Discord.Net/DiscordConfig.cs b/src/Discord.Net/DiscordConfig.cs index 70c997e32..4a31544ca 100644 --- a/src/Discord.Net/DiscordConfig.cs +++ b/src/Discord.Net/DiscordConfig.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Text; namespace Discord @@ -48,6 +49,7 @@ namespace Discord private string _appVersion = null; /// User Agent string to use when connecting to Discord. + [JsonIgnore] public string UserAgent { get { return _userAgent; } } private string _userAgent; private void UpdateUserAgent() diff --git a/src/Discord.Net/Net/WebSockets/GatewaySocket.cs b/src/Discord.Net/Net/WebSockets/GatewaySocket.cs index aaa79a0aa..d2a3ffe67 100644 --- a/src/Discord.Net/Net/WebSockets/GatewaySocket.cs +++ b/src/Discord.Net/Net/WebSockets/GatewaySocket.cs @@ -112,7 +112,7 @@ namespace Discord.Net.WebSockets { Host = payload.Url; if (_logger.Level >= LogSeverity.Info) - _logger.Log(LogSeverity.Info, "Redirected to " + payload.Url); + _logger.Info("Redirected to " + payload.Url); await Redirect(payload.Url).ConfigureAwait(false); } } diff --git a/src/Discord.Net/Net/WebSockets/WebSocket.cs b/src/Discord.Net/Net/WebSockets/WebSocket.cs index 38bb8fd72..38ddbdee2 100644 --- a/src/Discord.Net/Net/WebSockets/WebSocket.cs +++ b/src/Discord.Net/Net/WebSockets/WebSocket.cs @@ -53,7 +53,7 @@ namespace Discord.Net.WebSockets private void RaiseConnected() { if (_logger.Level >= LogSeverity.Info) - _logger.Log(LogSeverity.Info, "Connected"); + _logger.Info( "Connected"); if (Connected != null) Connected(this, EventArgs.Empty); } @@ -61,7 +61,7 @@ namespace Discord.Net.WebSockets private void RaiseDisconnected(bool wasUnexpected, Exception error) { if (_logger.Level >= LogSeverity.Info) - _logger.Log(LogSeverity.Info, "Disconnected"); + _logger.Info( "Disconnected"); if (Disconnected != null) Disconnected(this, new DisconnectedEventArgs(wasUnexpected, error)); } @@ -165,8 +165,10 @@ namespace Discord.Net.WebSockets } if (hasWriterLock) - { - CaptureError(ex ?? new Exception("Disconnect was requested."), isUnexpected); + { + if (ex != null) + _logger.Log(LogSeverity.Error, "Error", ex); + CaptureError(ex ?? new Exception("Disconnect was requested."), isUnexpected); _cancelTokenSource.Cancel(); if (_disconnectState == WebSocketState.Connecting) //_runTask was never made await Cleanup().ConfigureAwait(false); @@ -236,7 +238,7 @@ namespace Discord.Net.WebSockets protected virtual Task ProcessMessage(string json) { if (_logger.Level >= LogSeverity.Debug) - _logger.Log(LogSeverity.Debug, $"In: {json}"); + _logger.Debug( $"In: {json}"); return TaskHelper.CompletedTask; } @@ -244,7 +246,7 @@ namespace Discord.Net.WebSockets { string json = JsonConvert.SerializeObject(message); if (_logger.Level >= LogSeverity.Debug) - _logger.Log(LogSeverity.Debug, $"Out: " + json); + _logger.Debug( $"Out: " + json); _engine.QueueMessage(json); } diff --git a/src/Discord.Net/Services/LogService.cs b/src/Discord.Net/Services/LogService.cs index 2bb1e86e5..bb5785f1c 100644 --- a/src/Discord.Net/Services/LogService.cs +++ b/src/Discord.Net/Services/LogService.cs @@ -56,6 +56,16 @@ namespace Discord { if (severity <= _service.Level) _service.RaiseLogMessage(new LogMessageEventArgs(severity, _source, message, exception)); - } - } + } + public void Error(string message, Exception exception = null) + => Log(LogSeverity.Error, message, exception); + public void Warning(string message, Exception exception = null) + => Log(LogSeverity.Warning, message, exception); + public void Info(string message, Exception exception = null) + => Log(LogSeverity.Info, message, exception); + public void Verbose(string message, Exception exception = null) + => Log(LogSeverity.Verbose, message, exception); + public void Debug(string message, Exception exception = null) + => Log(LogSeverity.Debug, message, exception); + } }