public TraceMessage(TraceTypeEnum tracrType, string message, string?filterText = null) { TraceType = tracrType; Created = DateTime.Now; Message = message; FilterText = filterText; }
private static void tracePerThread(TraceTypeEnum traceType, bool isNewLine, string?filterText, string message, params object[] args) { if (previousTraceType != traceType) { //queue previous message having different type if (threadMessageString != null) { enqueueMessage(previousTraceType, filterText, ref threadMessageString); //sets threadMessageString=null } previousTraceType = traceType; } //concatenate message in threadMessageString if (args == null || args.Length == 0) { threadMessageString += message; } else { try { threadMessageString += string.Format(message, args); } catch (Exception) { //message is not properly formatted, might contain '{'. Try without args threadMessageString += message; } } if (isNewLine) { //queue complete, queue now enqueueMessage(previousTraceType, filterText, ref threadMessageString); //sets threadMessageString=null } }
public static void Write(TraceTypeEnum tarcetyoe, string logMessage) { switch (tarcetyoe) { case TraceTypeEnum.empty: Write(" ", logMessage); break; case TraceTypeEnum.trace: Write("trace", logMessage); break; case TraceTypeEnum.warning: Write("warning", logMessage); break; case TraceTypeEnum.error: Write("error", logMessage); break; case TraceTypeEnum.other: Write("other", logMessage); break; default: break; } }
private static void enqueueMessage(TraceTypeEnum traceType, string?filterText, ref string?threadMessageBuffer) { #if RealTimeTraceing RealTimeTracer.Trace("enqueueMessage(): start " + traceType.ShortString() + ": " + threadMessageBuffer); #endif TraceMessage message = new TraceMessage(traceType, threadMessageBuffer !, filterText); threadMessageBuffer = null; //break in debugger if needed if (Debugger.IsAttached) { if ((traceType == TraceTypeEnum.Warning && IsBreakOnWarning) || (traceType == TraceTypeEnum.Error && IsBreakOnError) || (traceType == TraceTypeEnum.Exception && IsBreakOnException)) { Debug.WriteLine(traceType + ": " + message); Debugger.Break(); } } #if RealTimeTraceing RealTimeTracer.Trace("enqueueMessage(): lock messagesQueue"); #endif lock (messagesQueue){ #if RealTimeTraceing RealTimeTracer.Trace("enqueueMessage(): locked messagesQueue"); #endif if (messagesQueue.Count >= MaxMessageQueue - 1) //leave 1 space empty for overflow error message { #if RealTimeTraceing RealTimeTracer.Trace("enqueueMessage(): messagesQueue overflow (" + messagesQueue.Count + " messages)"); #endif if (!isMessagesQueueOverflow) { isMessagesQueueOverflow = true; messagesQueue.Enqueue(new TraceMessage(TraceTypeEnum.Error, "Tracer.enqueueMessage(): MessagesQueue overflow (" + messagesQueue.Count + " messages) for:" + Environment.NewLine + message.ToString())); } } else { isMessagesQueueOverflow = false; messagesQueue.Enqueue(message); #if RealTimeTraceing RealTimeTracer.Trace("enqueueMessage(): message added to messagesQueue"); #endif } //Monitor.Pulse(messagesQueue); #if RealTimeTraceing RealTimeTracer.Trace("enqueueMessage(): messagesQueue pulsed, release lock"); #endif } #if RealTimeTraceing RealTimeTracer.Trace("enqueueMessage(): messagesQueue lock released, end"); #endif }
public static string ShortString(this TraceTypeEnum tracerSource) { switch (tracerSource) { case TraceTypeEnum.Trace: return("Trc"); case TraceTypeEnum.Warning: return("War"); case TraceTypeEnum.Error: return("Err"); case TraceTypeEnum.Exception: return("Exc"); default: return(tracerSource.ToString()); } }
/// <summary> /// Initializes a new instance of the <see cref="Body1" /> class. /// </summary> /// <param name="f">Optional parameter representing the output format of the response (default is JSON). (required) (default to "json").</param> /// <param name="gdbVersion">The name of the geodatabase version. (default to "sde.DEFAULT").</param> /// <param name="sessionId">Optional parameter representing the token (guid) used to lock the version. If the calling client has previously started a service session (editing) and holds an exclusive lock on the specified version, the request will fail if the sessionId is not provided. If the specified version is currently locked by any other session, the request will fail if the sessionId is not provided or does not match the sessionId which holds the exclusive lock. (default to "").</param> /// <param name="moment">Optional parameter representing the session moment (the default is the version current moment). This should only be specified by the client when they do not want to use the current moment..</param> /// <param name="traceType">The trace type. (required).</param> /// <param name="traceLocations">***Curently a workaround until figure out how to gen**The locations for starting and stopping points, as well as barriers. Optional parameter for subnetwork trace type, required parameter for all other trace types. (required).</param> /// <param name="traceConfiguration">The locations for starting and stopping points, as well as barriers. Optional parameter for subnetwork trace type, required parameter for all other trace types. (required).</param> /// <param name="resultTypes">Optional parameter representing the types of results to return. (required).</param> public Body1(string f = "json", string gdbVersion = "sde.DEFAULT", string sessionId = "", string moment = default(string), TraceTypeEnum traceType = default(TraceTypeEnum), List traceLocations = default(List), Object traceConfiguration = default(Object), List resultTypes = default(List)) { // to ensure "f" is required (not null) if (f == null) { throw new InvalidDataException("f is a required property for Body1 and cannot be null"); } else { this.F = f; } // to ensure "traceType" is required (not null) if (traceType == null) { throw new InvalidDataException("traceType is a required property for Body1 and cannot be null"); } else { this.TraceType = traceType; } // to ensure "traceLocations" is required (not null) if (traceLocations == null) { throw new InvalidDataException("traceLocations is a required property for Body1 and cannot be null"); } else { this.TraceLocations = traceLocations; } // to ensure "traceConfiguration" is required (not null) if (traceConfiguration == null) { throw new InvalidDataException("traceConfiguration is a required property for Body1 and cannot be null"); } else { this.TraceConfiguration = traceConfiguration; } // to ensure "resultTypes" is required (not null) if (resultTypes == null) { throw new InvalidDataException("resultTypes is a required property for Body1 and cannot be null"); } else { this.ResultTypes = resultTypes; } // use default value if no "gdbVersion" provided if (gdbVersion == null) { this.GdbVersion = "sde.DEFAULT"; } else { this.GdbVersion = gdbVersion; } // use default value if no "sessionId" provided if (sessionId == null) { this.SessionId = ""; } else { this.SessionId = sessionId; } this.Moment = moment; }