Ejemplo n.º 1
0
 public Task AddLoggingRecord(LoggingRecord loggingRecord)
 {
     database.Add(loggingRecord);
     using (Computed.Invalidate())
         GetLatest().Ignore();
     return(Task.CompletedTask);
 }
Ejemplo n.º 2
0
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            // var sender = serviceProvider.GetRequiredService<ISendLoggingRecord>();
            stopwatch.Restart();
            var response = await base.SendAsync(request, cancellationToken);

            stopwatch.Stop();
            var loggingRecord = new LoggingRecord()
            {
                Duration = stopwatch.ElapsedMilliseconds,
                Method   = request.Method.Method.ToUpperInvariant(),
                Path     = request.RequestUri?.PathAndQuery?.ToString(),
                Browser  = string.Empty,
                When     = DateTime.UtcNow,
                Status   = (int)response.StatusCode
            };

            logger.LogWarning($"Request Logging {stopwatch.ElapsedMilliseconds}ms");
            sender.EnQuee(loggingRecord);
            return(response);
        }
Ejemplo n.º 3
0
 public void EnQuee(LoggingRecord record) => loggingRecord.OnNext(record);