private static void DebugLoggerOnMessageReceived(object sender, DebugLogMessageEventArgs e) { switch (e.Level) { case LogLevel.Debug: if (e.Application != "Websocket") { Log.Debug($"{e.Application}: {e.Message}"); } break; case LogLevel.Info: Log.Info($"{e.Application}: {e.Message}"); break; case LogLevel.Warning: Log.Warn($"{e.Application}: {e.Message}"); break; case LogLevel.Error: Log.Error($"{e.Application}: {e.Message}"); break; case LogLevel.Critical: Log.Fatal($"{e.Application}: {e.Message}"); break; default: Log.Error($"{e.Application}: {e.Message}"); break; } }
public static void LogDSharp(this ILogger logger, object _, DebugLogMessageEventArgs e) { switch (e.Level) { case DSharpPlus.LogLevel.Debug: logger.LogDebug(e.Exception, e.Message); break; case DSharpPlus.LogLevel.Info: logger.LogInformation(e.Exception, e.Message); break; case DSharpPlus.LogLevel.Warning: logger.LogWarning(e.Exception, e.Message); break; case DSharpPlus.LogLevel.Error: logger.LogError(e.Exception, e.Message); break; case DSharpPlus.LogLevel.Critical: logger.LogCritical(e.Exception, e.Message); break; default: throw new Exception("Unknown log level!", e.Exception); } }
private async Task SendLogToDiscord(DebugLogMessageEventArgs logMessage) { if (_botConfiguration.LogChannelId == null || !_clientIsReady) { return; } var guild = _discordClient.Guilds.First(); var channels = await guild.Value.GetChannelsAsync(); var channel = channels.Single(x => x.Id == _botConfiguration.LogChannelId); var embedBuilder = new DiscordEmbedBuilder() .WithTitle($"{logMessage.Level} Log") .WithColor(DiscordColor.Red) .WithFooter(logMessage.Timestamp.ToString("dd/MM/yyyy HH:mm:ss")); if (!string.IsNullOrWhiteSpace(logMessage.Message)) { embedBuilder.AddField("Message", $"```{logMessage.Message}```"); } if (logMessage.Exception != null && !string.IsNullOrWhiteSpace(logMessage.Exception.ToString())) { embedBuilder.AddField("Stack", $"```{logMessage.Exception}```"); } await channel.SendMessageAsync(embed : embedBuilder.Build()).ConfigureAwait(false); }
/// <summary> /// Logs DSharpPlus internal errors with NLog /// </summary> /// <param name="sender"></param> /// <param name="e">DebugLogMessageEventArgs object</param> private void OnLogMessageReceived(object sender, DebugLogMessageEventArgs e) { var message = $"{e.Application}: {e.Message}"; switch (e.Level) { case LogLevel.Debug: Logger.Debug(e.Exception, message); break; case LogLevel.Info: Logger.Info(e.Exception, message); break; case LogLevel.Warning: Logger.Warn(e.Exception, message); break; case LogLevel.Error: Logger.Error(e.Exception, message); break; case LogLevel.Critical: Logger.Fatal(e.Exception, message); break; } }
private void OnLogMessageReceived(object sender, DebugLogMessageEventArgs e) { var logger = ServiceProvider.GetService <ILogger <Program> >(); switch (e.Level) { case DSharpPlus.LogLevel.Critical: logger.LogCritical($"[{e.Application}] {e.Message}"); break; case DSharpPlus.LogLevel.Debug: logger.LogDebug($"[{e.Application}] {e.Message}"); break; case DSharpPlus.LogLevel.Error: logger.LogError($"[{e.Application}] {e.Message}"); break; case DSharpPlus.LogLevel.Info: logger.LogInformation($"[{e.Application}] {e.Message}"); break; case DSharpPlus.LogLevel.Warning: logger.LogWarning($"[{e.Application}] {e.Message}"); break; } }
private void OnLogMessageReceived(object sender, DebugLogMessageEventArgs logMessage) { switch (logMessage.Level) { case LogLevel.Debug: Log.Debug(logMessage.Exception, logMessage.Message); break; case LogLevel.Info: Log.Information(logMessage.Exception, logMessage.Message); break; case LogLevel.Warning: Log.Warning(logMessage.Exception, logMessage.Message); break; case LogLevel.Error: Log.Error(logMessage.Exception, logMessage.Message); break; case LogLevel.Critical: Log.Fatal(logMessage.Exception, logMessage.Message); break; } // There are set of log messages we want to swallow and never show to the // user or log to Discord itself, therefore check if we want to send // the message to Discord if (logMessage.Level == LogLevel.Critical && !_ignoredLogMessages.Any(d => logMessage.Message.StartsWith(d))) { // Fire and forget _ = SendLogToDiscord(logMessage); } }
private void LogMessageReceived(object sender, DebugLogMessageEventArgs e) { ConsoleWrite($"[{e.Timestamp}]", ConsoleColor.Gray); var color = ConsoleColor.Gray; if (e.Application == _botConfig.BotName) { color = ConsoleColor.White; } ConsoleWrite($"[{ e.Application}]", color); switch (e.Level) { case LogLevel.Info: color = ConsoleColor.Green; break; case LogLevel.Warning: color = ConsoleColor.Yellow; break; case LogLevel.Error: color = ConsoleColor.Red; break; case LogLevel.Critical: color = ConsoleColor.DarkRed; break; } ConsoleWrite($"[{e.Level}]", color); ConsoleWrite($"{e.Message}", ConsoleColor.Gray, true); }
internal LogMessage(DebugLogMessageEventArgs e) { Level = (NivelLog)Convert.ToByte(e.Level); Application = e.Application; Message = e.Message; Timestamp = e.Timestamp; }
private static void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { if (e.Application != "REST") { //GameLog.Log($"[{e.Application}] [{e.Level}] {e.Message}", "Logger"); } }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { string message = "DSharpPlus: " + e.Message; switch (e.Level) { case LogLevel.Critical: log.Fatal(message); break; case LogLevel.Debug: log.Debug(message); break; case LogLevel.Error: log.Error(message); break; case LogLevel.Info: log.Info(message); break; case LogLevel.Warning: log.Warn(message); break; } }
public void FrameworkLog(object sender, DebugLogMessageEventArgs args) { // Bridge D#+ logging to Serilog LogEventLevel level = LogEventLevel.Verbose; if (args.Level == LogLevel.Critical) { level = LogEventLevel.Fatal; } else if (args.Level == LogLevel.Debug) { level = LogEventLevel.Debug; } else if (args.Level == LogLevel.Error) { level = LogEventLevel.Error; } else if (args.Level == LogLevel.Info) { level = LogEventLevel.Information; } else if (args.Level == LogLevel.Warning) { level = LogEventLevel.Warning; } _logger.Write(level, args.Exception, "D#+ {Source}: {Message}", args.Application, args.Message); }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { var msg = $"DISCORD: [{e.Application}] {e.Message}"; if (this.MessageLogged != null) { this.MessageLogged(msg); } }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { this.RunOnUiThread(() => { this.LogItemsAdapter.Add(this.FormatLogItem(e)); this.LogItemsAdapter.NotifyDataSetChanged(); this.BotLog.SmoothScrollToPosition(this.LogItemsAdapter.Count - 1); }); }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { //Color ConsoleColor color; switch (e.Level) { case LogLevel.Error: color = ConsoleColor.DarkRed; break; case LogLevel.Warning: color = ConsoleColor.Yellow; break; case LogLevel.Info: color = ConsoleColor.White; break; case LogLevel.Critical: color = ConsoleColor.Red; break; case LogLevel.Debug: default: color = ConsoleColor.DarkGray; break; } //Source var sourceName = e.Application; //Text var text = e.Message; //Build message var builder = new System.Text.StringBuilder(text.Length + (sourceName?.Length ?? 0) + 5); if (sourceName != null) { builder.Append('['); builder.Append(sourceName); builder.Append("] "); } for (var i = 0; i < text.Length; i++) { //Strip control chars var c = text[i]; if (!char.IsControl(c)) { builder.Append(c); } } if (text != null) { builder.Append(": "); builder.Append(text); } text = builder.ToString(); Console.ForegroundColor = color; Console.WriteLine(text); Console.ResetColor(); }
private static void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { if (e.Application == "REST") { return; } Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.DarkRed; Console.Write(DateTime.Now.ToString("HH:mm:ss,ff")); Console.Write(e.Timestamp); Console.ResetColor(); Console.Write(" "); Console.BackgroundColor = ConsoleColor.DarkYellow; Console.ForegroundColor = ConsoleColor.Black; Console.Write(e.Application); Console.ResetColor(); Console.Write(" : "); switch (e.Level) { case LogLevel.Critical: case LogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; break; case LogLevel.Warning: Console.ForegroundColor = ConsoleColor.DarkYellow; break; case LogLevel.Info: Console.ForegroundColor = ConsoleColor.White; break; case LogLevel.Debug: Console.ForegroundColor = ConsoleColor.Green; break; } Console.WriteLine(e.Message); //File.AppendAllText(_config.LogFile, $"[{e.Level}] [{e.Timestamp}] [{e.Application}] : {e.Message}\n"); Console.ResetColor(); var s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); var broadcast = IPAddress.Parse("192.168.1.21"); var sendbuf = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(new LogMessage { Loglevel = e.Level.ToString(), Message = e.Message, Source = e.Application, Timestamp = e.Timestamp })); var ep = new IPEndPoint(broadcast, 42915); s.SendTo(sendbuf, ep); }
private void OnLogMessage(object sender, DebugLogMessageEventArgs e) { if (this.LogMessage == null) { return; } var msg = string.Format("[{0:yyyy-MM-dd HH:mm:ss}] [{1,5}] [{2,10}] {3}", e.Timestamp, e.Level, e.Application, e.Message); this.LogMessage(msg); }
internal void Log(object sender, DebugLogMessageEventArgs e) { if (e.Level == LogLevel.Critical) { _logger.LogError(e.Message); } else { _logger.Log(e.Message); } }
private static void Client_LogMessageHandler(object sender, DebugLogMessageEventArgs ea) { lock (_lock) { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Gray; Console.Write("[{0:yyyy-MM-dd HH:mm:ss zzz}] ", ea.Timestamp); Console.ForegroundColor = ConsoleColor.Gray; Console.Write("[{0}] ", ea.Application); var ccfg = ConsoleColor.Gray; var ccbg = ConsoleColor.Black; switch (ea.Level) { case LogLevel.Critical: ccfg = ConsoleColor.Black; ccbg = ConsoleColor.Red; break; case LogLevel.Error: ccfg = ConsoleColor.Red; break; case LogLevel.Warning: ccfg = ConsoleColor.Yellow; break; case LogLevel.Info: ccfg = ConsoleColor.Cyan; break; case LogLevel.Debug: ccfg = ConsoleColor.Magenta; break; default: ccfg = ConsoleColor.Gray; ccbg = ConsoleColor.Black; break; } Console.ForegroundColor = ccfg; Console.BackgroundColor = ccbg; Console.Write("[{0}]", ea.Level.ToString()); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Write(" "); Console.WriteLine(ea.Message); } }
private int sessionStartAttemptFullRestartCounter = 4; // 4 = 4*30s = 2 minutes private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { if (e.Level == LogLevel.Warning && e.Message == "Session start attempt was made while another session is active") // if we are in the session start attempt loop { this.sessionStartAttemptFullRestartCounter--; if (this.sessionStartAttemptFullRestartCounter <= 0) { Log.WriteLogMessage("Session start attempt shenanigans are going on. Restarting!", LogOutputLevel.Warning); Shutdown(ShutdownAction.Restart); } } }
private void ConvertToSerilog(object sender, DebugLogMessageEventArgs args) { LogEventLevel level = args.Level switch { LogLevel.Critical => LogEventLevel.Fatal, LogLevel.Error => LogEventLevel.Error, LogLevel.Info => LogEventLevel.Information, LogLevel.Warning => LogEventLevel.Warning, _ => LogEventLevel.Debug, }; Log.Write(level, args.Exception, $"[{args.Application}] {args.Message}"); }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { if (!MainThreadQueue.Instance.IsMain()) { MainThreadQueue.Instance.Queue(() => DebugLogger_LogMessageReceived(sender, e)); return; } var msg = $"{Log.Timestamp()} Discord-{e.Level}: {e.Message}"; var push = PushNotification.Instance; push.Push(e.Message, e.Level.ToString()); }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { Console.ForegroundColor = ConsoleColor.Gray; Console.Write("[{0:yyyy-MM-dd HH:mm:ss zzz}] ", e.Timestamp.ToLocalTime()); var tag = e.Application; if (tag.Length > 12) { tag = tag.Substring(0, 12); } if (tag.Length < 12) { tag = tag.PadLeft(12, ' '); } Console.Write("[{0}] ", tag); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("[{0}] ", string.Concat("SHARD ", this.Discord.ShardId.ToString("00"))); switch (e.Level) { case LogLevel.Critical: case LogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; break; case LogLevel.Warning: Console.ForegroundColor = ConsoleColor.Yellow; break; case LogLevel.Info: Console.ForegroundColor = ConsoleColor.Cyan; break; case LogLevel.Debug: Console.ForegroundColor = ConsoleColor.Magenta; break; case LogLevel.Unnecessary: default: Console.ForegroundColor = ConsoleColor.DarkGreen; break; } Console.Write("[{0}] ", e.Level.ToString().PadLeft(11)); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(e.Message); }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { lock (this._logLock) { var fg = Console.ForegroundColor; var bg = Console.BackgroundColor; Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Black; Console.Write("[{0:yyyy-MM-dd HH:mm:ss zzz}] [{1}] ", e.Timestamp, e.Application.ToFixedWidth(12)); switch (e.Level) { case LogLevel.Critical: Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.Black; break; case LogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; break; case LogLevel.Warning: Console.ForegroundColor = ConsoleColor.Yellow; break; case LogLevel.Info: Console.ForegroundColor = ConsoleColor.Cyan; break; case LogLevel.Debug: Console.ForegroundColor = ConsoleColor.Magenta; break; } Console.Write("[{0}]", e.Level.ToString().ToFixedWidth(4)); Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Black; Console.WriteLine(" [{0:00}] {1}", this.ShardId, e.Message); Console.ForegroundColor = fg; Console.BackgroundColor = bg; } }
private string FormatLogItem(DebugLogMessageEventArgs e) { var sb = new StringBuilder(); var ls = e.Level.ToString(); ls = ls.Substring(0, Math.Min(ls.Length, 5)); var @as = e.Application; @as = @as.Substring(0, Math.Min(@as.Length, 10)); sb.AppendFormat("[{0:yyyy-MM-dd HH:mm:ss}] ", e.Timestamp); sb.AppendFormat("[{0}] ", ls.PadLeft(5, ' ')); sb.AppendFormat("[{0}] ", @as.PadLeft(10, ' ')); sb.AppendLine(e.Message); return(sb.ToString()); }
public static void LogDSharpPlusLogMessage(DebugLogMessageEventArgs e) { LogLevel logLevel = LogLevel.Off; switch (e.Level) { case DSharpPlus.LogLevel.Debug: logLevel = LogLevel.Debug; break; case DSharpPlus.LogLevel.Info: logLevel = LogLevel.Info; break; case DSharpPlus.LogLevel.Warning: logLevel = LogLevel.Warn; break; case DSharpPlus.LogLevel.Error: logLevel = LogLevel.Error; break; case DSharpPlus.LogLevel.Critical: logLevel = LogLevel.Fatal; break; } LogManager.GetLogger(e.Application).Log(logLevel, e.Exception, e.Message); }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { var level = e.Level switch { LogLevel.Critical => MSLogLevel.Critical, LogLevel.Error => MSLogLevel.Error, LogLevel.Warning => MSLogLevel.Warning, LogLevel.Info => MSLogLevel.Information, LogLevel.Debug => MSLogLevel.Debug, _ => MSLogLevel.Trace }; if (e.Exception != null) { _clientLogger.Log(level, e.Exception, e.Message); } else { _clientLogger.Log(level, e.Message); } }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { var clr = ConsoleColor.Gray; switch (e.Level) { case LogLevel.Info: clr = ConsoleColor.White; break; case LogLevel.Warning: clr = ConsoleColor.Yellow; break; case LogLevel.Error: case LogLevel.Critical: clr = ConsoleColor.Red; break; } Term.Log($"{e.Level}: {e.Message}", clr); }
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { if (!MainThreadQueue.Instance.IsMain()) { MainThreadQueue.Instance.Queue(() => DebugLogger_LogMessageReceived(sender, e)); return; } var msg = $"{Log.Timestamp()} Discord-{e.Level}: {e.Message}"; var push = PushNotification.Instance; switch (e.Level) { case LogLevel.Debug: Debug.Log(msg); push.Add(e.Message, PushColor.Debug); break; case LogLevel.Info: Debug.Log(msg); push.Add(e.Message, PushColor.Info); break; case LogLevel.Warning: Debug.LogWarning(msg); push.Add(e.Message, PushColor.Warning); break; case LogLevel.Error: Debug.LogError(msg); push.Add(e.Message, PushColor.Error); break; case LogLevel.Critical: Debug.LogAssertion(msg); push.Add(e.Message, PushColor.Error); break; } }
// this method writes all of bot's log messages to debug output private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) => Debug.WriteLine($"[{e.Timestamp.ToString("yyyy-MM-dd HH:mm:ss")}] [{e.Application}] [{e.Level}] {e.Message}");
private void DebugLogger_LogMessageReceived(object sender, DebugLogMessageEventArgs e) { Acao.Invoke(new LogMessage(e)); }