Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Código do SqlLoggerProvider

Onde encontro o código do SqlLogProvider que você copia e cola na classe? Não encontrei o link com esse conteúdo, e no vídeo não da para copiar, pois ele não aparece por inteiro.

Obrigado.

3 respostas
solução!

Oi Danto, tudo bom?

Dando uma olhada aqui, também não achei esse texto. Procurei e não encontrei também.

Dando uma olhada no video o que eu consegui escrever foi:

using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Logging;
using System;

namespace Alura.Loja.Testes.ConsoleApp
{
    public class SqlLoggerProvider : ILoggerProvider
    {
        public static ILoggerProvider Create()
        {
            return new SqlLoggerProvider();
        }

        public ILogger CreateLogger(string categoryName)
        {
            if (categoryName == typeof(IRelationalCommandBuilderFactory).Fullname)
            {
                return new SqlLogger();
            }
            return new NullLogger();
        }

        public void Dispose(){

        }
        internal class NullLogger : ILogger
        {
            public IDisposable BeginScope<TState>(TState state)
            {
                return null;
            }

            public bool IsEnabled(LogLevel logLevel)
            {
                return true;
            }

            public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception)
            {
                //não faz nada, caso esteja faltando algum parametro, você pode usar o auto complete do Visual Studio para montar esse método melhor.
            }
        }

        public class SqlLogger : ILogger
        {
            public IDisposable BeginScope<TState>(TState state)
            {
                return null;
            }

            public bool IsEnabled(LogLevel logLevel)
            {
                return true;
            }

            public void Log<TState>(LogLevel logLevel,EventId eventId, TState state, Exception e)
            {
                Console.WriteLine("");
                Console.WriteLine(formatter(state,exception));
                Console.WriteLine("");
            }
        }
    }
}

Algumas interfaces podem te ajudar no auto complete =)

Mas vou verificar a disponibilidade desse código pra você.

Abraço!

Tá certinho, André. O código é esse mesmo!

Tudo ótimo pessoal!!!

Obrigado!!! Agora deu certo.