private void CreateDiagnosticEvent(string message, LogLevel severity, Exception exception = null) { var payload = new DiagnosticPayload() { CorrelationId = ThreadContext.Get().ExecutionId, Severity = severity.ToString(), Message = exception == null ? message : exception.FormatExceptionMessage(message), ProcessId = Process.GetCurrentProcess().Id, ThreadId = Thread.CurrentThread.ManagedThreadId }; _internalBuffer.Enqueue(new Diagnostic(Priority, payload)); }
public void NonEmptyExtraDetails() { var payload = new DiagnosticPayload { CorrelationId = Guid.NewGuid(), Message = "message", ProcessId = 123, Severity = "Fatal", ThreadId = 432, ExtraDetails = new Dictionary <string, string>() }; var obj = new Diagnostic(EventPriority.High, payload); obj.ValidateSchema(); payload.ExtraDetails.Add("a", "b"); obj = new Diagnostic(EventPriority.Operational, payload); obj.ValidateSchema(); }
public void Diagnostic() { var payload = new DiagnosticPayload { CorrelationId = Guid.NewGuid(), Message = "free-text", ProcessId = 123, ThreadId = 432, }; foreach (var value in Enum.GetValues(typeof(LogLevel))) { if ((LogLevel)value == LogLevel.Off) { continue; } payload.Severity = value.ToString(); var obj = new Diagnostic(EventPriority.High, payload); obj.ValidateSchema(); } }