public virtual void Log(IRequest request, object requestDto, object response, TimeSpan requestDuration) { var requestType = requestDto?.GetType(); if (ExcludeRequestType(requestType)) return; var entry = CreateEntry(request, requestDto, response, requestDuration, requestType); logEntries.Enqueue(entry); RequestLogEntry dummy; if (logEntries.Count > capacity) logEntries.TryDequeue(out dummy); }