Código do SqlLoggerProvider não aparece nada no console, digitei os mesmo códigos. Porém não me retorna os SQLs no console.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Código do SqlLoggerProvider não aparece nada no console, digitei os mesmo códigos. Porém não me retorna os SQLs no console.
Olá, Luiz
Como está seu código? Pode comparar com este aqui, por favor?
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("");
}
}
}
}