public void ReportLogToConsole_Logs_Exception_With_Stacktrace() { using (StringWriter sw = new StringWriter()) { Console.SetOut(sw); string testMessage = "Test message"; string exceptionMessage = "Exception Message"; LoggerReporter reporter = new LoggerReporter(); LoggerListener.SubscribeListener(reporter); //Check for event try { throwException(exceptionMessage); } catch (Exception expectedException) { LoggerEventArgs arg = new LoggerEventArgs(expectedException, new MessengerEventArgs(testMessage)); reporter.ThrowLoggerEvent(arg); } string expectedWithoutStackTrace = string.Format(exceptionMessage + Environment.NewLine + testMessage + Environment.NewLine); Assert.IsTrue(sw.ToString().Contains(exceptionMessage)); Assert.IsTrue(sw.ToString().Contains(testMessage)); Assert.IsTrue(sw.ToString().Length > expectedWithoutStackTrace.Length); } }
public void ReportLogToConsole_Does_Nothing_If_Logging_Event_Handled() { using (StringWriter sw = new StringWriter()) { Console.SetOut(sw); string testMessage = "Test message"; LoggerReporter reporter = new LoggerReporter(); LoggerListener.SubscribeListener(reporter); //Check for event LoggerEventArgs arg = new LoggerEventArgs(new MessengerEventArgs(testMessage)); reporter.ThrowLoggerEvent(arg); string expected = string.Format(testMessage + Environment.NewLine); Assert.AreEqual(expected, sw.ToString()); // Clear Console output StringBuilder sb = sw.GetStringBuilder(); sb.Remove(0, sb.Length); // Check that event does not trigger again arg.Handled = true; reporter.ThrowLoggerEvent(arg); expected = string.Empty; Assert.AreEqual(expected, sw.ToString()); } }
public void ReportLogToConsole_Logs_Parameters() { using (StringWriter sw = new StringWriter()) { Console.SetOut(sw); string testMessage = "Test message"; string key1 = "Key1:"; string value1 = "Value1"; string key2 = "Key2:"; string value2 = "Value2"; LoggerReporter reporter = new LoggerReporter(); LoggerListener.SubscribeListener(reporter); //Check for event LoggerEventArgs arg = new LoggerEventArgs(new MessengerEventArgs(testMessage), key1, value1, key2, value2); reporter.ThrowLoggerEvent(arg); string expected = string.Format(testMessage + Environment.NewLine + key1 + " " + value1 + Environment.NewLine + key2 + " " + value2 + Environment.NewLine); Assert.AreEqual(expected, sw.ToString()); } }
private void Logger_LogMessage(LoggerEventArgs e) { #if DEBUG switch (e.Severity) { case LogSeverity.Warning: Trace.TraceWarning(e.Text); break; case LogSeverity.Error: Trace.TraceError(e.Text); break; case LogSeverity.Information: Trace.TraceInformation(e.Text); break; case LogSeverity.Command: Trace.TraceInformation(e.Text); break; default: // Debug Debug.WriteLine(e.Text); break; } #else var sendEmail = (e.Severity == LogSeverity.Warning || e.Severity == LogSeverity.Error); if (e.Severity != LogSeverity.Debug && e.Severity != LogSeverity.Information) { Lionsguard.Log.Write(e.Text, sendEmail); } #endif }
public void Initialize_With_Exception_And_Parameters_Contain_Message_And_Exception_And_Parameters_And_Defaults() { string key1 = "Key1:"; string value1 = "Value1"; string key2 = "Key2:"; string value2 = "Value2"; Exception expectedException = new Exception(); LoggerEventArgs loggerEventArg = new LoggerEventArgs(expectedException, key1, value1, key2, value2); Assert.AreEqual(expectedException.Message, loggerEventArg.Message); Assert.AreEqual(expectedException, loggerEventArg.Exception); Assert.IsTrue(loggerEventArg.Parameters.ContainsKey(key1)); Assert.AreEqual(value1, loggerEventArg.Parameters[key1]); Assert.IsTrue(loggerEventArg.Parameters.ContainsKey(key2)); Assert.AreEqual(value2, loggerEventArg.Parameters[key2]); Assert.AreEqual("", loggerEventArg.Title); Assert.AreEqual("", loggerEventArg.Footer); Assert.AreEqual("", loggerEventArg.PromptList); Assert.AreEqual(defaultAction, loggerEventArg.Action); Assert.AreEqual(defaultDefaultAction, loggerEventArg.ActionDefault); Assert.AreEqual(defaultActionSet, loggerEventArg.ActionSet); Assert.AreEqual(defaultMessageType, loggerEventArg.MessageType); Assert.AreEqual(defaultHandled, loggerEventArg.Handled); }
public void Initialize_With_Odd_Number_Of_Parameters_Does_Not_Store_Parameters() { string key1 = "Key1:"; string value1 = "Value1"; string key2 = "Key2:"; Exception expectedException = new Exception(); LoggerEventArgs loggerEventArg = new LoggerEventArgs(expectedException, null, key1, value1, key2); Assert.AreEqual(string.Empty, loggerEventArg.Message); Assert.AreEqual(expectedException.Message, loggerEventArg.Exception.Message); Assert.AreEqual(expectedException, loggerEventArg.Exception); Assert.IsTrue(loggerEventArg.Parameters.ContainsKey(key1)); Assert.AreEqual(value1, loggerEventArg.Parameters[key1]); Assert.IsFalse(loggerEventArg.Parameters.ContainsKey(key2)); Assert.AreEqual(string.Empty, loggerEventArg.Title); Assert.AreEqual(string.Empty, loggerEventArg.Footer); Assert.AreEqual(string.Empty, loggerEventArg.PromptList); Assert.AreEqual(defaultAction, loggerEventArg.Action); Assert.AreEqual(defaultDefaultAction, loggerEventArg.ActionDefault); Assert.AreEqual(defaultActionSet, loggerEventArg.ActionSet); Assert.AreEqual(defaultMessageType, loggerEventArg.MessageType); Assert.AreEqual(defaultHandled, loggerEventArg.Handled); }
private void LogMessage(object sender, LoggerEventArgs e) { if (ScrollTextBox) { if (!string.IsNullOrWhiteSpace(Main_Logger.Text)) { Main_Logger.AppendText(Environment.NewLine); } Main_Logger.AppendText(e.Message); if (Main_Logger.Lines.Length > 1000) { Main_Logger.Lines = Main_Logger.Lines.Skip(Main_Logger.Lines.Length - 1000).ToArray(); } } else { if (LoggerLog.Count > 1000) { LoggerLog.RemoveRange(0, 1000 - LoggerLog.Count); } LoggerLog.Add(e.Message); } }
private void OnLoggerCreated(LoggerEventArgs args) { var evt = LoggerCreated; if (evt != null) { evt(this, args); } }
private void OnLoggerCreatedSafe(LoggerEventArgs args) { try { this.OnLoggerCreated(args); } catch (Exception ex) { InternalLogger.Current.Error("Failed to handle OnLoggerCreated event.", ex); } }
public void Log(Exception ex) { //Event LoggerEventArgs e = new LoggerEventArgs(this, LogLevel.Debug, ex.ToString(), ex); Server.PluginManager.CallEvent(Event.LoggerLog, e); // do not allow cancellation or altering of log messages //End Event Log(LogLevel.Debug, ex.ToString()); }
private void OnLog(LoggerEventArgs e) { foreach (EventListener el in Plugins) { ServerListener sl = (ServerListener)el.Listener; if (el.Event == Event.LoggerLog) { sl.OnLog(e); } } }
public void Log(LogLevel level, string message) { //Event LoggerEventArgs e = new LoggerEventArgs(this, level, message); Server.PluginManager.CallEvent(Event.LoggerLog, e); // do not allow cancellation or altering of log messages //End Event LogToConsole(level, message, true); LogToFile(level, message, true); }
private void Log(object sender, LoggerEventArgs e) { Run category = new Run("[" + e.Category.ToUpper() + "]: "); category.Foreground = new SolidColorBrush(Colors.DarkSlateBlue); category.FontWeight = FontWeights.Bold; category.FontSize = 12; category.FontFamily = new FontFamily("Consolas"); Run message = new Run(e.Message); switch (e.Level) { case LogLevel.Debug: message.Foreground = new SolidColorBrush(Colors.DarkGray); break; case LogLevel.Info: message.Foreground = new SolidColorBrush(Colors.Black); break; case LogLevel.Warning: message.Foreground = new SolidColorBrush(Colors.Orange); message.FontWeight = FontWeights.Bold; break; case LogLevel.Error: message.Foreground = new SolidColorBrush(Colors.Red); message.FontWeight = FontWeights.Bold; break; case LogLevel.Fatal: message.Foreground = new SolidColorBrush(Colors.DarkRed); message.FontWeight = FontWeights.Bold; break; default: break; } message.FontSize = 12; message.FontFamily = new FontFamily("Consolas"); TextBlock log = new TextBlock(); log.Inlines.Add(category); log.Inlines.Add(message); LoggerBox.Items.Add(log); LoggerBox.ScrollIntoView(log); }
private async void log(object sender, LoggerEventArgs eventArgs) { if (eventArgs.Level != LogLevel.Info) { await logger.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { logger.Text = eventArgs.Message + Environment.NewLine + logger.Text; if (logger.Text.Length > 1000) { logger.Text.Substring(0, 800); } }); } }
private void showSslInfo(string serverName, SslStream sslStream, bool verbose) { showCertificateInfo(sslStream.RemoteCertificate, verbose); var dateTime = DateTime.Now.ToShortTimeString(); var args = new LoggerEventArgs("[{0}] SSL Connection Report:{1}" + " -> Is Authenticated: {2}{1}" + " -> Is Encrypted: {3}{1}" + " -> Is Signed: {4}{1}" + " -> Is Mutually Authenticated: {5}{1}" + " -> SSL Protocol: {6}", dateTime, Environment.NewLine, sslStream.IsAuthenticated ? "Yes" : "No", sslStream.IsEncrypted ? "Yes" : "No", sslStream.IsSigned ? "Yes" : "No", sslStream.IsMutuallyAuthenticated ? "Yes" : "No", Utilities.GetSslProtocolsString(sslStream.SslProtocol)); }
public void SubscribeListener_Subsribes_Listener() { using (StringWriter sw = new StringWriter()) { Console.SetOut(sw); string testMessage = "Test message"; LoggerReporter reporter = new LoggerReporter(); LoggerListener.SubscribeListener(reporter); //Check for event LoggerEventArgs arg = new LoggerEventArgs(new MessengerEventArgs(testMessage)); reporter.ThrowLoggerEvent(arg); string expected = string.Format(testMessage + Environment.NewLine); Assert.AreEqual(expected, sw.ToString()); } }