FakeLogCollector.GetLogsAsync(CancellationToken) Método

Definição

Enumera assíncronamente as FakeLogRecord instâncias recolhidas por este FakeLogCollector.

public System.Collections.Generic.IAsyncEnumerable<Microsoft.Extensions.Logging.Testing.FakeLogRecord> GetLogsAsync(System.Threading.CancellationToken cancellationToken = default);
member this.GetLogsAsync : System.Threading.CancellationToken -> System.Collections.Generic.IAsyncEnumerable<Microsoft.Extensions.Logging.Testing.FakeLogRecord>
Public Function GetLogsAsync (Optional cancellationToken As CancellationToken = Nothing) As IAsyncEnumerable(Of FakeLogRecord)

Parâmetros

cancellationToken
CancellationToken

Um token que pode ser usado para cancelar a enumeração assíncrona. Este token é observado durante a criação e iteração da sequência assíncrona.

Devoluções

E IAsyncEnumerable<T> isso gera FakeLogRecord instâncias à medida que são escritas. A sequência não tem um estado de conclusão definido e aguarda elementos subsequentes indefinidamente, ou para quando é solicitado o cancelamento.

Exceções

Lançado quando o token de cancelamento fornecido cancellationToken ou do próprio enumerador é cancelado enquanto se espera pelo próximo registo de registo.

Exemplos

O exemplo seguinte mostra como consumir logs de forma assíncrona:

var collector = new FakeLogCollector();
using var cts = new CancellationTokenSource();

await foreach (var record in collector.GetLogsAsync(cts.Token))
{
    Console.WriteLine($"{record.Level}: {record.Message}");
}

Observações

A sequência devolvida é hot: transmite os registos de registo à medida que se tornam disponíveis e pode bloquear entre elementos enquanto se espera que sejam escritos registos adicionais. Podem ser criadas múltiplas enumerações independentes chamando este método várias vezes.

Aplica-se a