コード例 #1
0
        public async Task DeleteWebApiEntryAsync(WebApiLogEntry entry, CancellationToken cancellationToken = default)
        {
            Guard.Argument(entry, nameof(entry)).NotNull();

            DbContext.WebApiLogEntries.Remove(entry);
            await DbContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false);
        }
            public void Log <TState>(LogLevel logLevel, EventId eventId, TState state, Exception?exception, Func <TState, Exception?, string> formatter)
            {
                if (!IsEnabled(logLevel))
                {
                    return;
                }

                var scope = _scopes.Count == 0
                    ? null
                    : _scopes.Join(" > ");

                var entry = new WebApiLogEntry
                {
                    TimeWritten = DateTimeOffset.Now,
                    ServerName  = Environment.MachineName,

                    Category  = _category,
                    Scope     = scope,
                    LogLevel  = logLevel.ToString(),
                    EventId   = eventId.Id,
                    EventName = eventId.Name,
                    Message   = formatter(state, exception),
                    Exception = exception?.ToString()
                };

                _provider.Enqueue(entry);
            }