void LogMessage(LogLevel level, string format, params object[] args) { if (format == null) { throw new ArgumentNullException(nameof(format)); } if (args == null) { throw new ArgumentNullException(nameof(args)); } if (!ShouldLog(level)) { return; } var msg = args.Length != 0 ? string.Format(format, args) : format; var now = DateTime.Now; var stamp = TimestampFormat != string.Empty ? now.ToString(TimestampFormat) : null; lock (_lock) { MessageLogged?.Invoke(this, new LogEventArgs(level, now, msg)); foreach (var logger in Loggers) { logger.Log(level, stamp, Source, Category, msg); } } }
internal void RaiseMessageLoggedEvent(MediaLogMessage e) { GuiContext.Current.EnqueueInvoke(() => { MessageLogged?.Invoke(this, new MediaLogMessageEventArgs(e)); }); }
internal void OnMessageLogged(ILogMessage msg) { if (this.MessageLogged != null) { MessageLogged?.Invoke(msg); } }
public void Log(object sender, MessageLoggedEventArgs e) { MessageLogged?.Invoke(sender, e); var level = e.Severity switch { LogMessageSeverity.Trace => LogLevel.Trace, LogMessageSeverity.Debug => LogLevel.Debug, LogMessageSeverity.Information => LogLevel.Information, LogMessageSeverity.Warning => LogLevel.Warning, LogMessageSeverity.Error => LogLevel.Error, LogMessageSeverity.Critical => LogLevel.Critical, _ => LogLevel.None }; // downgrade unknown dispatch logs to debug level if (e.Source.Equals("Gateway", StringComparison.OrdinalIgnoreCase) && e.Message.Contains("Unknown dispatch", StringComparison.OrdinalIgnoreCase)) { level = level < LogLevel.Debug ? level : LogLevel.Debug; } _logger.Log(level, e.Exception, $"[{e.Source}] {e.Message}"); // log a note about expired tokens: https://github.com/chiyadev/MudaeFarm/issues/153 if (e.Message.Contains("AuthenticationFailed", StringComparison.OrdinalIgnoreCase)) { _logger.Log(level, "Your Discord authentication token seems to have expired. Please try updating your token in \"profiles.json\" file in the folder \"%localappdata%\\MudaeFarm\"."); } } }
private static void LogMessage(LogObject logObject) { _log.Add(logObject); var message = logObject.ToString(); if (logObject.Type == MessageType.Error) { Trace.TraceError(message); } else if (logObject.Type == MessageType.Warning) { Trace.TraceWarning(message); } else { Trace.TraceInformation(message); } if (Out != null) { try { Out.WriteLine(message); Out.Flush(); } catch (Exception e) { Trace.TraceError("Unable to write to the log output stream: {0}", e); Out = null; } } MessageLogged?.Invoke(logObject); }
public void Log(string text, LogState state = LogState.None) { if (string.IsNullOrWhiteSpace(text)) { return; } lock (Logs) { var log = new Log() { Date = DateTime.Now, Message = text, State = state }; if (Logs.Count >= 100) { Logs.RemoveRange(0, Logs.Count - 100); } Logs.Add(log); MessageLogged?.Invoke(); } }
public void Log(object sender, MessageLoggedEventArgs e) { MessageLogged?.Invoke(sender, e); var level = e.Severity switch { LogMessageSeverity.Trace => LogLevel.Trace, LogMessageSeverity.Debug => LogLevel.Debug, LogMessageSeverity.Information => LogLevel.Information, LogMessageSeverity.Warning => LogLevel.Warning, LogMessageSeverity.Error => LogLevel.Error, LogMessageSeverity.Critical => LogLevel.Critical, _ => LogLevel.None }; // downgrade unknown dispatch logs to debug level if (e.Source.Equals("Gateway", StringComparison.OrdinalIgnoreCase) && e.Message.Contains("Unknown dispatch", StringComparison.OrdinalIgnoreCase)) { level = level < LogLevel.Debug ? level : LogLevel.Debug; } _logger.Log(level, e.Exception, $"[{e.Source}] {e.Message}"); } }
/// <summary> /// Returns the message as parseable BaseStation message text. /// </summary> /// <param name="emitExtendedBaseStationFormat">True if MLAT-sourced messages should use a message type of MLAT, false if they should use MSG. Ignored for other message types.</param> /// <returns>The properties of the message formatted up as a text string that can be sent to any application /// that can interpret BaseStation messages.</returns> public string ToBaseStationString(bool emitExtendedBaseStationFormat = false) { StringBuilder result = new StringBuilder(); var messageGeneratedLocal = MessageGenerated.ToLocalTime(); var messageLoggedLocal = MessageLogged.ToLocalTime(); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", BaseStationMessageHelper.ConvertToString(MessageType, IsMlat, emitExtendedBaseStationFormat)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", MessageType == BaseStationMessageType.Transmission ? BaseStationMessageHelper.ConvertToString(TransmissionType) : ""); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", SessionId); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", AircraftId); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Icao24); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", FlightId); result.AppendFormat(CultureInfo.InvariantCulture, "{0:yyyy/MM/dd},", messageGeneratedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:HH:mm:ss.fff},", messageGeneratedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:yyyy/MM/dd},", messageLoggedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:HH:mm:ss.fff},", messageLoggedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", MessageType == BaseStationMessageType.StatusChange ? BaseStationMessageHelper.ConvertToString(StatusCode) : Callsign); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Altitude); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.GroundSpeed(GroundSpeed)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Track(Track)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Coordinate(Latitude)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Coordinate(Longitude)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", VerticalRate); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Squawk); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", SquawkHasChanged == null ? "" : SquawkHasChanged.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Emergency == null ? "" : Emergency.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", IdentActive == null ? "" : IdentActive.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0}", OnGround.GetValueOrDefault() ? "-1" : "0"); // Turns out BaseStation never emits a null OnGround value... return(result.ToString()); }
public void Log(object sender, MessageLoggedEventArgs e) { if (sender == null) { throw new ArgumentNullException(nameof(sender)); } if (e == null) { throw new ArgumentNullException(nameof(e)); } Delegate[] list; lock (_lock) { list = MessageLogged?.GetInvocationList(); } if (list == null) { return; } for (var i = 0; i < list.Length; i++) { var handler = list[i] as EventHandler <MessageLoggedEventArgs>; try { handler(sender, e); } catch { } } }
public static void Write(string message, string category) { string str = "[" + DateTime.Now.ToString(@"HH:mm:ss") + "][" + category + "] " + message; Console.WriteLine(str); MessageLogged?.Invoke(str); }
public static void Dispatch(string level, string message) { if (MessageLogged != null) { MessageLogged.Invoke(null, new LogMessageEventArgs(level, message)); } }
public void Log(string message) { var logMessage = $"[{DateTime.Now}] {message}\n"; MessageLogged?.Invoke(logMessage); Console.Write(logMessage); _allLogs.Append(logMessage); }
/// <summary> /// Invokes the MessageLogged event with the new event from the legacy TraceEvent system. /// </summary> /// <param name="source"></param> /// <param name="eventType"></param> /// <param name="id"></param> /// <param name="text"></param> public override void TraceEvent(string source, LogEventType eventType, int id, string text) { Event @event = new Event(0, (int)eventType, text, source, 0); using (EventCollection eventCollection = new EventCollection(new Event[] { @event })) { MessageLogged.Invoke(eventCollection); } }
protected virtual void Log(MessageLoggedEventArgs e) { if (e.IsError) { HasLoggedErrors = true; } MessageLogged?.Invoke(this, e); }
public void Log(VerboseLevels verbosity, string message) { if (verbosity > Verbosity) { return; } MessageLogged?.Invoke(this, new SapLogEventArgs(verbosity, message)); }
public static void Info(string message) { MessageLogged?.Invoke(LogType.Info, message); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(GetPrefix() + message); Console.ForegroundColor = originalColor; }
public static void Success(string message) { MessageLogged?.Invoke(LogType.Success, message); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(GetPrefix() + message); Console.ForegroundColor = originalColor; }
public static void Success(object message) { MessageLogged?.Invoke(LogType.Success, message.ToString()); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(message); Console.ForegroundColor = originalColor; }
public static void Warning(string message) { MessageLogged?.Invoke(LogType.Warning, message); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(GetPrefix() + message); Console.ForegroundColor = originalColor; }
public static void ColoredLog(object message, ConsoleColor color) { MessageLogged?.Invoke(LogType.Info, message.ToString()); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = color; Console.WriteLine(message); Console.ForegroundColor = originalColor; }
public static void Warning(object message) { MessageLogged?.Invoke(LogType.Warning, message.ToString()); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(message); Console.ForegroundColor = originalColor; }
public static void Error(object message) { MessageLogged?.Invoke(LogType.Error, message.ToString()); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(message); Console.ForegroundColor = originalColor; }
internal void RaiseMessageLoggedEvent(MediaLogMessage e) { WindowsPlatform.Instance.Gui?.EnqueueInvoke(DispatcherPriority.Background, new Action <MediaLogMessage>((eventArgs) => { MessageLogged?.Invoke(this, new MediaLogMessageEventArgs(eventArgs)); }), e); }
protected void OnMessageLogged(MessageLevel level, string?message, Exception?error) { try { MessageLogged?.Invoke(level, message, error); } catch { } }
static public void LogMessage(string msg) { Console.WriteLine(msg); LogMessages.Enqueue(msg); while (LogMessages.Count > 200) { LogMessages.TryDequeue(out _); } MessageLogged?.Invoke(msg); }
public static void Debug(object message) { #if DEBUG MessageLogged?.Invoke(LogType.Debug, message.ToString()); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(message); Console.ForegroundColor = originalColor; #endif }
public static void Error(string message) { WriteToLog(LogType.Error, message); MessageLogged?.Invoke(LogType.Error, message); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(GetPrefix() + message); Console.ForegroundColor = originalColor; }
public static void Debug(string message) { if (DEBUG) { MessageLogged?.Invoke(LogType.Debug, message); ConsoleColor originalColor = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(GetPrefix() + message); Console.ForegroundColor = originalColor; } }
/// <summary> /// Trigger <see cref="MessageLogged"/>, and stop weaving if /// <paramref name="importance"/> is <see cref="MessageImportance.Error"/>. /// </summary> private void LogMessage(object sender, string msg, MessageImportance importance) { bool willThrow = importance == MessageImportance.Error || (importance == MessageImportance.Warning && TreatWarningsAsErrors); MessageLogged?.Invoke(new MessageLoggedEventArgs(msg, importance, willThrow, BeingProcessed, sender.GetType())); if (willThrow) { throw new WeavingException(msg, BeingProcessed, sender.GetType()); } }
/// <summary> /// Logs the specified message. /// </summary> /// <param name="msg">The MSG.</param> public static void LogMessage(string msg, LogAction action = LogAction.LogOnly) { try { Log.Information(msg); if (action == LogAction.LogAndShow) { MessageLogged?.Invoke(null, DateTime.Now + " : " + msg); } } catch (Exception) { } }
public void Handle(MessageLogged message) { var msg = String.Format("{0}:{1}:{2}", message.DateTime, message.LogLevel, message.Message); DebugText = DebugText + Environment.NewLine + msg; }