/// <summary> /// Pushes application message /// </summary> /// <param name="aMessage"> /// Message to be pushed in queue <see cref="AppNotification"/> /// </param> public static void Push (DebugNotification aMessage) { if (aMessage == null) return; if (Debug.Active == true) if (onMessagePush != null) onMessagePush (aMessage); }
/// <summary> /// Consoledebug main method /// </summary> /// <param name="aNotification"> /// Notification to display <see cref="DebugNotification"/> /// </param> public static void ConsoleDebugger (DebugNotification aNotification) { //#if DEBUG if (aNotification == null) return; bool pushfound = false; string type = aNotification.MsgType.ToString(); Console.Error.WriteLine (type.ToUpper() + ": " + aNotification.Title + "\n" + " " + aNotification.Text); if (Debug.Level > 5) { StackTrace st = new StackTrace(true); string stackIndent = " "; for (int i =0; i<st.FrameCount; i++) { // Note that at this level, there are four // stack frames, one for each method invocation. StackFrame sf = st.GetFrame(i); string method = sf.GetMethod().ToString(); if (method == "Void Push(System.DebugInformation.DebugNotification)") { pushfound = true; continue; } if (method == "Void Critical(System.String, System.String, System.Object)") continue; if (method == "Void Critical(System.String, System.String)") continue; if (method == "Void Critical(System.String)") continue; if (method == "Void Error(System.String, System.String, System.Object)") continue; if (method == "Void Error(System.String, System.String)") continue; if (method == "Void Error(System.String)") continue; if (method == "Void ForceError(System.String, System.String, System.Object)") continue; if (method == "Void ForceError(System.String, System.String)") continue; if (method == "Void ForceError(System.String)") continue; if (method == "Void Suggestion(System.String, System.String, System.Object)") continue; if (method == "Void Suggestion(System.String, System.String)") continue; if (method == "Void Suggestion(System.String)") continue; if (method == "Void Warning(System.String, System.String, System.Object)") continue; if (method == "Void Warning(System.String, System.String)") continue; if (method == "Void Warning(System.String)") continue; if (pushfound == false) continue; Console.Error.WriteLine(); Console.Error.WriteLine(stackIndent + " Method: {0}", method); Console.Error.WriteLine(stackIndent + " File: {0}", sf.GetFileName()); Console.Error.WriteLine(stackIndent + " Line Number: {0}", sf.GetFileLineNumber()); stackIndent += " "; } } //#endif }