Saltar al contenido

Inyecte la interfaz ILogger de Serilog en ASP .NET Core Web API Controller

Ya no busques más en internet porque has llegado al espacio adecuado, contamos con la solución que deseas sin complicarte.

Solución:

Si tu prefieres ILogger en lugar de ILoggerpodría intentar registrarse ILogger.

Aquí hay dos opciones para usar Serialog.Information.

  1. Utilizar Log.Logger

    Log.Logger.Information("Information Log from Log.Logger");
    
  2. Registrarse ILogger

    //Startup.cs
    services.AddSingleton(Log.Logger);
    
    //Use
    public class HomeController : Controller
    
        private readonly ILogger _logger;
        public HomeController(ILogger logger)
        
            _logger = logger;
        
        public IActionResult Index()
        
            _logger.Information("Inform ILog from ILogger");
            return View();
                
    
    

Puede instalar Serilog como el registrador bajo el marco de registro de Microsoft al incluir el Serilog.Extensions.Logging paquete e incluyendo lo siguiente en el inicio de su aplicación: –

public void ConfigureServices(IServiceCollection services)
{
    services.AddLogging(x =>
    
        x.ClearProviders();
        x.AddSerilog(dispose: true);
    );

    ...

O, como alternativa a la inyección, si solo desea una referencia al registrador Serilog, Serilog.Log tiene un static método Log para crear un registrador…

...
using Serilog;
...

namespace Test.Controllers
{
    public class TestController : Controller
    {
        private readonly static ILogger log = Log.ForContext(typeof(TestController));

        public TestController()
        
            log.Debug("Test");
        

Tienes la opción de añadir valor a nuestro contenido informacional aportando tu experiencia en las interpretaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *