private static TraceEvent BuildTraceEvent(LoggingEvent loggingEvent, Guid? correlationId, Guid? batchId, string source) { TraceEvent traceEvent = new TraceEvent(); traceEvent.BatchId = batchId; traceEvent.CorrelationId = correlationId; traceEvent.Exception = loggingEvent.ExceptionObject; traceEvent.HostName = Environment.MachineName; traceEvent.Id = Guid.NewGuid(); traceEvent.Message = loggingEvent.RenderedMessage; traceEvent.Source = source; traceEvent.SourceCode = new SourceCode(); traceEvent.SourceCode.ClassName = loggingEvent.LocationInformation.ClassName; traceEvent.SourceCode.FileName = loggingEvent.LocationInformation.FileName; traceEvent.SourceCode.LineNumber = loggingEvent.LocationInformation.LineNumber; traceEvent.SourceCode.MethodName = loggingEvent.LocationInformation.MethodName; traceEvent.Timestamp = loggingEvent.TimeStamp; traceEvent.UserName = loggingEvent.UserName; return traceEvent; }
public void Send(TraceEvent traceEvent) { if (traceEvent == null) { System.Diagnostics.Debug.WriteLine("The received Trace Event was null."); throw new ArgumentNullException("traceEvent"); } string diagnosticMessage; if (traceEvent.CorrelationId == null) { diagnosticMessage = string.Format(CultureInfo.CurrentCulture, "Received Trace Event from Source '{0}'.", traceEvent.Source); } else { diagnosticMessage = string.Format(CultureInfo.CurrentCulture, "Received Trace Event from Source '{0}' with Correlation ID of '{1}'.", traceEvent.Source, traceEvent.CorrelationId); } System.Diagnostics.Debug.WriteLine(diagnosticMessage); // Send Trace Event to all clients. Clients.addTraceEvent(traceEvent); }