public DiagnosticBehavior(IRequestTrace trace, IDebugDetector detector, IOutputWriter writer,
     IExceptionHandlingObserver exceptionObserver)
 {
     _trace = trace;
     _detector = detector;
     _writer = writer;
     _exceptionObserver = exceptionObserver;
 }
 public DiagnosticBehavior(IRequestTrace trace, IDebugDetector detector, IOutputWriter writer,
                           IExceptionHandlingObserver exceptionObserver)
 {
     _trace             = trace;
     _detector          = detector;
     _writer            = writer;
     _exceptionObserver = exceptionObserver;
 }
Beispiel #3
0
 public UserManagerAuthentication(
     ILogger <UserManagerAuthentication> logger,
     TicketingDbContext dbContext,
     IRequestTrace requestTrace)
 {
     _logger       = logger;
     _dbContext    = dbContext;
     _requestTrace = requestTrace;
 }
        public async Task Invoke(HttpContext context, IRequestTrace requestTracer)
        {
            var requestId = Guid.NewGuid();

            requestTracer.Register(requestId);
            try
            {
                LogRequestData(context, requestId);

                await _next(context);

                LogResponseData(context, requestId);
            }
            catch (Exception exception)
            {
                _logger.LogError(exception, requestId + ": " + exception.Message);
            }
        }
        public static void AddTraceInformation(this IRequestTrace trace)
        {
            if (trace == null)
            {
                throw new ArgumentException($"{nameof(trace)} cannot be null");
            }

            //Can be null if called from a hosted service as Activity is initialized in middleware on incoming HTTP requests
            if (Activity.Current == null)
            {
                throw new InvalidOperationException($"Current Activity is null, Activity has not been initialized");
            }

            trace.AddTraceId(Activity.Current.TraceId.ToString());

            //Might not have a Parent Id if this is the first call
            trace.AddParentId(Activity.Current.ParentId != null ? Activity.Current.ParentId.ToString() : Activity.Current.TraceId.ToString());
        }
        public async Task Invoke(HttpContext context, IRequestTrace requestTracer)
        {
            var requestId = Guid.NewGuid();

            requestTracer.Register(requestId);
            try
            {
                await LogRequestData(context, requestId);

                var originalBodyStream = context.Response.Body;
                await using var responseBody = new MemoryStream();
                context.Response.Body        = responseBody;

                await _next(context);

                await LogResponseData(context.Response, requestId);

                await responseBody.CopyToAsync(originalBodyStream);
            }
            catch (Exception exception)
            {
                _logger.LogError(exception, requestId + ": " + exception.Message);
            }
        }
 public RequestTraceListener(IRequestTrace trace)
 {
     _trace = trace;
 }
 public DiagnosticBehavior(IRequestTrace trace, IDebugDetector detector, IOutputWriter writer)
 {
     _trace = trace;
     _detector = detector;
     _writer = writer;
 }
 public ProductionModeTraceListener(IRequestTrace trace)
 {
     _trace = trace;
 }
Beispiel #10
0
 public BehaviorTracer(BehaviorCorrelation correlation, IRequestTrace trace, IExceptionHandlingObserver exceptionObserver)
 {
     _correlation       = correlation;
     _trace             = trace;
     _exceptionObserver = exceptionObserver;
 }
Beispiel #11
0
 public DiagnosticBehavior(IRequestTrace trace, IExceptionHandlingObserver exceptionObserver)
 {
     _trace             = trace;
     _exceptionObserver = exceptionObserver;
 }
Beispiel #12
0
 public ProductionModeTraceListener(IRequestTrace trace)
 {
     _trace = trace;
 }
 public ModelBindingSampleEndpoint(IRequestTrace trace)
 {
     _trace = trace;
 }
Beispiel #14
0
 public void AddRequestTrace(IRequestTrace trace)
 {
     this.requestTraces.Add(trace);
 }
Beispiel #15
0
 public BehaviorTracer(BehaviorCorrelation correlation, IRequestTrace trace, IExceptionHandlingObserver exceptionObserver)
 {
     _correlation = correlation;
     _trace = trace;
     _exceptionObserver = exceptionObserver;
 }
 public void AddRequestTrace(IRequestTrace trace)
 {
     this.requestTraces.Add(trace);
 }
 public RequestTraceListener(IRequestTrace trace)
 {
     _trace = trace;
 }
 public ModelBindingSampleEndpoint(IRequestTrace trace, IUrlRegistry urls)
 {
     _trace = trace;
     _urls = urls;
 }
 public DiagnosticBehavior(IRequestTrace trace, IExceptionHandlingObserver exceptionObserver)
 {
     _trace = trace;
     _exceptionObserver = exceptionObserver;
 }
 public ModelBindingSampleEndpoint(IRequestTrace trace)
 {
     _trace = trace;
 }